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

一、首先是 :

git clone

例如是:

git clone 你的账户/你的代码仓库.git

然后就能得到git 的本地仓库,在任何文件夹建立都可以。得到的就是其代码仓库;

二、然后是:

对其进行修改,会用到:git add . ; git commit -m "" ; git diff 等等; 命令详见我的其他的博文,很详细得讲出了用法;

meger 得到远程仓库,合并更新本地的仓库;用

git pull

例如是:

git pull 账户/代码仓库.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

解决了这就完成了一整套的多人协作的操作;

四、实现多人的同等权利的合作;

假如 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 等,想知道具体的命令怎么用,请查找说明文档;

请关注小红旗 我的博客是: 点我访问

转载请标明出处;

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

在认识你之后,我才发现自己可以这样情愿的付出……

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

相关文章:

你感兴趣的文章:

标签云: