一、首先是 :
git clone
例如是:
git clone http://github.com/你的账户/你的代码仓库.git
然后就能得到git 的本地仓库,在任何文件夹建立都可以。得到的就是其代码仓库;
二、然后是:
对其进行修改,会用到:git add . ; git commit -m "" ; git diff 等等; 命令详见我的其他的博文,很详细得讲出了用法;
meger 得到远程仓库,合并更新本地的仓库;用
git pull
例如是:
git pull http://github.com/账户/代码仓库.git
这时如果你的本地文件有修改,和pull过来的远程文件有内容上的冲突:会显示:
* branch HEAD -> FETCH_HEAD
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
并且文件中出现了:
<<<<<<< HEAD
=======
这是用来验证pull 的语句
这是用来验证pull 的语句2
这是用来验证pull 的语句3
>>>>>>> e93d7e4ce948e0bf99f48f06c1c9dd069c3a3325
//这时应该怎么解决呢
解决方法一:
是删除 <<<<<<< HEAD: 的标志
解决方法二:
是用 git checkout ---theirs
实现合并,这个好处是可以批量合并,坏处是 丧失了选择性,我们只有 --thires/--ours 的合并的情况;
-----------------------------解决好版本合并问题后---------------
三、git push 实现将本地的版本推送到远程的仓库之中;
例如是:
git push http://github.com/xiaohongqi2/xiaohongqi.git
解决了这就完成了一整套的多人协作的操作;
四、实现多人的同等权利的合作;
假如 git 仓库建设到某一个人的主机上,那他的权利很大,没有用到 pull 和 push
为了实现多人协同开发:
解决方法是:将git 仓库建立到实验室的服务器上;这里我摘录大牛(佚名)的一段话:
如下:
M2GE 的协同开发
上一节所给出的三人及三人以上的协同工作模式有些不合理,譬如 Lyr 过于
特殊,别人都要 git-pull 与 git-push,唯独他不需要。现在要剥夺他的这一特权,最
有效的办法就是将 M2GE 仓库建立在实验室的服务器上。13
首先,Lyr 通过 SSH 登录到服务器,寻找合适位置,建立 m2ge.git 目录,譬如
/project/m2ge.git ,然后初始化一个空仓库,以此作为 M2GE 仓库:
$ mkdir -p ~/project/m2ge.git
$ cd ~/project/m2ge.git
$ git --bare init --shared
上述操作中,git-init 命令的 --bare 选项可以让 m2ge.git 目录等价于一个仓
库。也就是说,m2ge.git 本来是一个工作树,但是 --bare 选项将本应当存放在
m2ge.git/.git 中的仓库内容全部放置在 m2ge.git 目录下,就好像仓库完全的裸
露在工作树中,所以称之为赤裸的仓库。
然后,Lyr 将自己机器上已经接受 Git 管理的 m2ge 仓库推送到服务器端的
m2ge.git 仓库:
$ cd ~/work/m2ge
$ git push [email protected]:~/project/m2ge.git master
上述 git-push 命令中出现的 master 参数的含义将在下一章讲述,此处可略过
不谈。现在,大家已经得到了 M2GE 仓库的最初版本,并且可以使用 git-clone 命令
在本地创建工作目录:
$ git clone [email protected]:~/project/m2ge.git
之后,我们就可以开始一个又一个协同周期,服务器上的 m2ge.git 仓库将会逐
次记录着每位协同开发者的版本更新提交,此基本过程可参考上一节所述内容来理
解。
//这就是解决方法;
注意,请求可以用 http;SSH 等,想知道具体的命令怎么用,请查找说明文档;
请关注小红旗 我的博客是:http://blog.csdn.net/happylaoxu 点我访问 http://blog.csdn.net/happylaoxu
转载请标明出处;
接下来我还要讲解更为高级一些的东西,请继续关注;