1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > git ssh创建分支_【ssh简单版git-server 1】自建git-server

git ssh创建分支_【ssh简单版git-server 1】自建git-server

时间:2022-10-11 14:16:01

相关推荐

git ssh创建分支_【ssh简单版git-server 1】自建git-server

环境:centos和ubuntu系统都可以

CentOS release 6.7

git version 1.7.1

git-server 192.168.50.108

git-client 192.168.50.112

备注:基于linux系统下做ssh模式的gitserver,需要ssh免密钥,因为git用户是禁止登录的,clone时没有免ssh后会需要密码导致无法操作。

部署:

git-server:

1.安装git软件(客户端和服务器端使用的是同一个软件)

yum install git -y

2.初始化仓库(鉴于此处是共享仓库,所有要建立裸仓库)

mkdir /data/sample.git

git init --bare /data/sample.git

chown git.git /data/sample.git -R

3.配置git用户使用的shell为git-shell

which git-shell(返回结果/usr/bin/git-shell)

chsh -s /usr/bin/git-shell git

git-client:

1.安装git软件

yum install git -y

2.配置用户的ssh密钥信息,并提供给git-server

ssh-keygen -t rsa -C "sample@" (与git config的信息一致,记录文件log信息,可查看是谁修改的。)

假如你是用的是本台机器root用户,生成的密钥默认在/root/.ssh/下

scp /root/.ssh/id_rsa.pub root@192.168.50.108:/tmp

git-server:

允许另外一天机器的用户无密钥访问git用户的信息

mkdir /home/git/.ssh && cat id_rsa.pub >>/home/git/.ssh/authorized_keys

git-client:

1.clone远程server的裸仓库

git clone git@192.168.50.108:/data/sample.git

2.添加远程仓库作为源仓库

git remote add origin git@192.168.50.108:/data/sample.git

git remote -v(查看存在的仓库源)

2.默认clone的是master仓库,可以直接在master更新

cd sample/

echo "this is a test file" >test

3.配置git全局信息

git config --global user.name 'test'

git config --global user.email 'sample@'

4.添加并提交文件

git add test

git commit -m "this is fire commit"

5.把修改后的文件推送的git-server源做共享

git push -u origin master

注:由于代码存在多个版本,且介于安全考虑master会被限制,用户可以自己创建分支,然后请求合并。 所以大多数修改并不是直接在master上。以下是分支操作

1.clone maste后创建分支

git checkout -b fenzhi

git branch(查看当前所在分支)

2.添加并提交文件

echo "hello world " >fenzhifile

git add

git commit -m 'fenzhi'

3.把新建的分支推送到git-server源做共享

git push origin fenzhi

git-client:测试

1.测试master:换台机器(同样需要免ssh)或换个目录测试

cd /tmp

git clone git@192.168.50.108:/data/sample.git

查看只有一个test文件,这个是我们刚才在master上添加的。

cd sample/ && cat test

2.测试fenzhi

git clone git@192.168.50.108:/data/sample.git -b fenzhi

同样刚才的fenzhi文件也存在,test也存在。因为我们是在master主要功能上修改的。如果文件没有相同的,那就是不同的项目。

git帮助手册

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。