2010-04-21

使用push&pull来管理CVS模式的git公共库

类归于: Gitmaker @ 14:07

概要
本文介绍了git format-patch提交更新的替代方案,使用类似CVS的提交和更新来代替现在正使用的操作相对麻烦的format-patch。

如何创建一个CVS模式的公共库?
确保用户组git已存在,确保开发人员在git组中

chgrp -R .git git # 将.git改为git组

chmod -R 775 .git

cd .git&&chmod 664 config description index&&chmod 777 HEAD

通过以上命令就创建了一个CVS模式的公共库,可以方便的使用push和pull来进行操作。
从远程服务器192.168.9.9的/var/proj/project目录检出项目到project目录下

git clone maker@192.168.9.9:/var/proj/project project

每个用户clone项目之后需要设置身份

git config –global user.name “maker” # 改成自己的

git config –global user.email “makerwang@gmail.com” # 改成自己的

已检出项目不需要做任何修改,在必要情况下设置身份即可。

PUSH
在本地提交(commit)后,使用git push来将本地的(这里指每个开发者独立检出的项目)修改提交到公共库中。
切记,使用push命令提交之后再对公共库进行修改之前要把公共库切换到最新版本

PULL
使用git pull来进行项目的更新,提交前最好使用pull来将项目更新至最新,否则将无法进行push操作。
如果两人同时修改了同一行代码,pull操作将提示冲突”both modified”,通过git status查看冲突,人工解决冲突并将解决冲突后的文件再次进行提交,然后再进行push操作。

在给arch的最近一次更新中,发现git push命令无法正常执行,报错

![remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to ‘xxx.xxx.xxx.xxx:xxx/xxx/xxxxx/xxxxxx’

这是由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:

[receive]
denyCurrentBranch = ignore

随机日志

评论暂缺 »

还没有任何评论。

这篇文章上的评论 RSS feed TrackBack URL

留下评论

WordPress 所驱动