创建远程git仓库

git仓库服务器配置;

两种方式:

方式一:使用git协议,创建的git仓库服务器,只能下载,不能上传;

方式二:使用http或https协议,安装httpd1.6.6以上版本就支持上传和下载等丰富的功能了;

本次实验物理机win7,虚拟机是两台centos7:

本地git仓库,node1:172.18.11.111

远程git仓库,noed2:172.18.11.112

方式图一:使用git协议创建git远程仓库:

在node2:

安装git-daemon

]# yum -y install git-daemon

初始化一个裸仓库:名称为myproject.git

]# cd /var/lib/git/

]# git init --bare myproject.git

]# ls /var/lib/git/myproject.git/

在node1:

克隆远程仓库:

]# git clone git://172.18.11.112/myproject.git

查看git查看配置等信息:

以上就完成远程git仓库的创建和本地下载远程仓库了;使用的git协议,不支持推送上传,要想实现推送要使用http协议;

注意:

git协议创建的服务器有缺陷:

第一,不支持推送;

第二,不支持认证;

第三,端口很特殊,tcp/9418

方式二:使用http协议进行创建git远程仓库:

要基于http协议实现git远程仓库,只有安装一个http服务即可。

在node2:

安装git-daemon

]# yum -y install git-daemon

]# yum -y install httpd

对于http协议的git仓库,要求http协议必须启动三个模块:

第一,支持路径别名;

第二,环境变量设定;

第三,cgi机制;

因为,基于http协议实际是使用poll脚本完成智能设定的;

查看三个模块:确保如下三个模块启用

创建裸仓库目录并授权:

]# mkdir /var/www/git

]# cd /var/www/git

]# git init --bare testproject.git

]# chown -R apache:apache /var/www/git

确保该目录属主属组为apache用户,否则会没有写操作权限;

]# vim /etc/httpd/conf/httpd.conf

#DocumentRoot "/var/www/html"

为提供git仓库基于http协议实现,创建新的配置文件:

]# vim /etc/httpd/conf.d/git.conf

]# httpd -t

]# systemctl start httpd.service

]# ss -tnl 查看80端口监听;

回到node1节点,克隆这个基于http协议的远程git仓库:

]# git clone http://172.18.11.112/git/testproject.git

]# cd testproject/

此时下载仓库到本地了,如果在这个远程跟踪分支上进行更改内容:

]# echo "new line" >  README

]# git add README

]# git commit -m "v0.1"

提交后再上传到远程服务器:

]# git push origin master

输入授权的用户名和密码即可完成上传了:

以上就是基于http协议创建git远程仓库的整个过程,当然配置好http协议的仓库,再配置https协议的git仓库,无非就是多了一个步骤配置CA证书等工作;

使用这种方式进行认证非常不安全,可以做htsps协议方式进行;

把账号密码放在文件里,也不很妥当,放在互联网上的公共仓库时,还可以基于mysql认证,把账号、密码放在mysql数据库表里;

以上这些自己管理起来都非常麻烦,就出现了互联网上专门做代码托管的服务站点。

时间: 2024-12-14 23:03:15

创建远程git仓库的相关文章

创建局域网内远程git仓库,并将本地仓库push推到远程仓库中

转自原文 创建局域网内远程git仓库,并将本地仓库push推到远程仓库中 1. 先远程登录局域网内服务器 2. 在服务器里 切换到某个文件夹下, 然后新建一个文件夹用作git仓库(文件夹名最好跟准备推到服务器的仓库文件夹名相同), 并切换到此文件夹下, 接着将用git init 命令在此文件夹下建立一个git 仓库(图中的—bare参数为建立一个裸仓库), 然后退出服务器. 3. 退出服务器后,在本地路径切换到本地仓库的根目录中, 若本地没建立仓库,则先用git init 命令建立本地仓库,如图

SourceTree 将本地已有的git项目推送到远程git仓库

1.在远程git仓库创建对应的项目: 2.用命令行生成本地的ssh key; 3.把公钥粘贴远程仓库对应的位置: 4.SourceTree 设置远程仓库的地址: 5.把本地对应的分支推送到远程仓库: 注意:1.http buffer如果设置得过小,无法传输大文件: 2.ssh客户端选择openssh,不要选择putty/plink;

Eclipse使用git提交本地项目到远程git仓库

1.创建了本地git仓库: 右键项目——Team——share ——Create Repository——finish   2.将项目提交到本地仓库然后提交到远程git仓库 右键项目——Team——commit and push   3.填写git的https地址和账户 4.Source ref和Destination ref选择refs/heads/master——Add Spec——勾选force update,不然提交空内容 Done

上传本地工程到远程Git仓库

上传本地工程到远程Git仓库 首先登录远程Git仓库,我使用的OSChina的码云,手动创建对应的项目工程 进入本地的工程目录下 按如下顺序执行相关命令: git init --Create an empty Git repository or reinitialize an existing one echo "# project name" >> README.md git remote add origin https://git.oschina.net/person

xcode 版本控制推送代码到远程git仓库的步骤

一 代码推送到远程git仓库 1.在git中建立一个下项目(假设项目名称为->Mygit) 2.在xocde上新建一个测试项目(假设项目名称为GitTest) 3.打开电脑终端: 1)首先利用终端命令进入xcode新建的测试项目(GitTest)的目录中 2) echo "# Mygit" >>README.md  回车 3) git init 回车 4) git add READEM.md 回车 5) git commit -m "commit init&

Intellj IDEA 推送项目到远程Git仓库

在intellij IDEA中 VCS--Import into Version Control--Create Git Repository--选择你的本地项目 然后cmd进入到你的项目根目录(需要把git配置到环境变量中) 依次输入以下命令: # 给项目设置远程远程仓库 # git remote add origin https://coding.net/FuYung/****.git # 抓取远程仓库数据,并自动合并远程分支 #git pull origin master # 把本地项目推

本地Git仓库同步到Bitbucket 远程Git仓库

转载自:http://blog.csdn.net/lue2009/article/details/46553829 本地仓库内容可以和多个远程仓库同步,本地仓库出问题或者远程仓库其中一个有问题,那么剩余的仓库还是可以使用的,这就是分布式管理的魅力所在 ! O(∩_∩)O~ 说了那么多废话,下面我们开始具体的操作: (1) 先在github.com或bitbucket.org 创建一个仓库,仓库名就是项目名(一般有依赖工程,都放在这个项目名里面的) (2) 切换到你的本地Git仓库 Eg: cd到

GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?

问题背景: 最近在重新整理手中的一个项目,目前该项目分为PC项目,手机项目,某第三方接口项目,第三方接口服务项目和手机项目 因为之前规划的原因,原来的四个项目是分两个解决方案来管理的 PC解决方案: #PC解决方案,2015年从Vss迁移到Git 一共三个项目 #F:\WWW\F.COM\WWW Flight.sln Flight.suo Web #PC项目 Qr #第三方接口项目 2015年新增项目,也使用PC解决方案但用分支进行管理,维护单独的通用项目,目前已经将通用项目分离到单独的分支进行

如何创建一个 Git 仓库

你可以使用一个已存在的目录作为Git仓库 git init Git 使用 git init 命令来初始化一个 Git 仓库,Git 的很多命令都需要在 Git 的仓库中运行,所以 git init 是使用 Git 的第一个命令. 在执行完成 git init 命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据,其他的项目目录保持不变(不像 SVN 会在每个子目录生成 .svn 目录,Git 只在仓库的根目录生成 .git 目录). 使用方法 使用当前目录作为Git仓库,