Git daemon使用小记
2015-04-12 13:36
295 查看
平时项目中我们常遇到这样的需求,需要在自己电脑上clone台式机上的git代码,从而省略了向Github远程服务器上传代码的过程。免除了一些授权Access问题。幸好有Git Daemon神器:
前提
代码是通过Git托管的,如果使用SVN的话,多增加一个Git repo也是可以的。
Step by Step
进入到自己工程所在的目录下,以Users/mingong/project/Sheldon为例:
在Git项目根目录下开启Daemon服务器
使用ifconfig查看本机电脑内网IP地址:
首先我需要在Doanloads文件夹中
ls可以看到我的Downloads中已经成功clone了sheldon工程,clone了工程的下一步就是pull, 当A电脑上的代码变动之后,我需要直接更新代码,首先进入sheldon根目录中:
增加push权限
在B电脑上clone代码后,B电脑上的伙伴修改完代码会需要将代码push回A电脑的工程中,
在第2步中开启的git daemon给可访问的客户端read权限,在需要开启write权限时,我们需要给git daemon增加
There is one quirk: client can’t push into your active git branch. Before pushing, user on the server should change the branch, if client wants to push to this branch.
客户端B不能直接提交master到当前活跃分支,所以可以在B新建一个分支,只要提交分支到A的repo中即可,由A决定是否进行分支merge.
在服务器端merge分支
至此,push工作也就基本完成了。Git 还是很强大的。
参考网址: taming-the-git-daemon-to-quickly-share-git-repository
前提
代码是通过Git托管的,如果使用SVN的话,多增加一个Git repo也是可以的。
Step by Step
进入到自己工程所在的目录下,以Users/mingong/project/Sheldon为例:
cd project/Sheldon
在Git项目根目录下开启Daemon服务器
git daemon --base-path=. --export-all --reuseaddr --informative-errors —verbose
使用ifconfig查看本机电脑内网IP地址:
ifconfig,以我的电脑为例,查看到的IP地址为
10.113.241.150
clone/pull代码到另外一台电脑(两台电脑需在同一个内网下即可),为模拟需要,直接到我的Downloads目录下面模拟进行后续步骤。
首先我需要在Doanloads文件夹中
clone project: git clone git://10.113.241.150/sheldon,
ls可以看到我的Downloads中已经成功clone了sheldon工程,clone了工程的下一步就是pull, 当A电脑上的代码变动之后,我需要直接更新代码,首先进入sheldon根目录中:
git pull git://10.113.241.150/
增加push权限
在B电脑上clone代码后,B电脑上的伙伴修改完代码会需要将代码push回A电脑的工程中,
在第2步中开启的git daemon给可访问的客户端read权限,在需要开启write权限时,我们需要给git daemon增加
—enable=receive-pack,执行命令如下,
git daemon --base-path=. --export-all --enable=receive-pack --reuseaddr --informative-errors —verbose
There is one quirk: client can’t push into your active git branch. Before pushing, user on the server should change the branch, if client wants to push to this branch.
客户端B不能直接提交master到当前活跃分支,所以可以在B新建一个分支,只要提交分支到A的repo中即可,由A决定是否进行分支merge.
$ git checkout -b sharing # made some changes ... $ git commit -am "add sharing feature" $ git push -u origin sharing ... * [new branch] sharing -> sharing ...
在服务器端merge分支
$ git checkout master $ git merge sharing
至此,push工作也就基本完成了。Git 还是很强大的。
参考网址: taming-the-git-daemon-to-quickly-share-git-repository
相关文章推荐
- 架设git服务器--使用git-daemon
- Window下使用 Git 小记
- git 使用小记
- 关于git使用以及合并服务器代码到本地小记
- git使用小记
- 架设git服务器--使用git-daemon
- git使用小记
- git使用小记
- git使用小记
- vscode 使用 git 踩坑 小记
- 初次Git使用小记(Linux)
- git使用小记
- 搭建无限制权限的简单git服务器使用git-daemon脚本
- Android小记:eclipse下使用git上传(下载)代码至(从)github
- git基础使用小记
- 架设git服务器--使用git-daemon
- 搭建无限制权限的简单git服务器使用git-daemon脚本
- Git使用小记
- 菜鸟在Xcode中使用Git进行源码版本控制小记
- git使用小记