码迷,mamicode.com
首页 > 其他好文 > 详细

git 的远程控制,结合github 实现多人的合作

时间:2015-05-03 10:43:20      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:远程控制   合并   merge   ssh   git   

一、首先是 :


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 m2@192.168.0.2:~/project/m2ge.git master
上述 git-push 命令中出现的 master 参数的含义将在下一章讲述,此处可略过
不谈。现在,大家已经得到了 M2GE 仓库的最初版本,并且可以使用 git-clone 命令
在本地创建工作目录:
$ git clone m2@192.168.0.2:~/project/m2ge.git
之后,我们就可以开始一个又一个协同周期,服务器上的 m2ge.git 仓库将会逐
次记录着每位协同开发者的版本更新提交,此基本过程可参考上一节所述内容来理
解。


//这就是解决方法;

注意,请求可以用 http;SSH 等,想知道具体的命令怎么用,请查找说明文档;


请关注小红旗 我的博客是:http://blog.csdn.net/happylaoxu  点我访问 http://blog.csdn.net/happylaoxu

转载请标明出处;


接下来我还要讲解更为高级一些的东西,请继续关注;


git 的远程控制,结合github 实现多人的合作

标签:远程控制   合并   merge   ssh   git   

原文地址:http://blog.csdn.net/happylaoxu/article/details/45456605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!