zoukankan      html  css  js  c++  java
  • git 常用命令--抓取分支-为自己记录(二)

    二:抓取分支:

    多人协作时,大家都会往master分支上推送各自的修改。现在我们可以模拟另外一个同事,可以在另一台电脑上(注意要把SSH key添加到github上)或者同一台电脑上另外一个目录克隆,新建一个目录名字叫testgit2

    但是我首先要把dev分支也要推送到远程去,如下

    (这个图是参考别人的,我的图是works目录的那个)

    接着进入testgit2目录,进行克隆远程的库到本地来,如下:

    现在目录下生成有如下所示:

    现在我们的小伙伴要在dev分支上做开发,就必须把远程的origin的dev分支到本地来,于是可以使用命令创建本地dev分支:git checkout  –b dev origin/dev

    现在小伙伴们就可以在dev分支上做开发了,开发完成后把dev分支推送到远程库时。

     

    小伙伴们已经向origin/dev分支上推送了提交,而我在我的目录文件下也对同样的文件同个地方作了修改,也试图推送到远程库时,如下:

     

    由上面可知:推送失败,因为我的小伙伴最新提交的和我试图推送的有冲突,解决的办法也很简单,上面已经提示我们,先用git pull把最新的提交从origin/dev抓下来,然后在本地合并,解决冲突,再推送。

     

    git pull也失败了,原因是没有指定本地dev分支与远程origin/dev分支的链接,根据提示,设置dev和origin/dev的链接:如下:

    我的推送成功了,但是不知道为什么原来作者的没有推送成功(可能因为我两个目录都是我clone下来的把)

     

    以下是作者的后续操作

    这回git pull成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的 解决冲突完全一样。解决后,提交,再push:

    我们可以先来看看readme.txt内容了

    现在手动已经解决完了,我接在需要再提交,再push到远程库里面去。如下所示:

    因此:多人协作工作模式一般是这样的:

    1. 首先,可以试图用git push origin branch-name推送自己的修改.
    2. 如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并。
    3. 如果合并有冲突,则需要解决冲突,并在本地提交。再用git push origin branch-name推送。

     

     

     

     

     

     

     

  • 相关阅读:
    jsp与spring mvc后台controller间参数传递处理之总结
    又一个无效的列类型错误Error setting null for parameter #7 with JdbcType NULL . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLExcept
    SSM文件上传要点总结
    关于SSM中mybatis向oracle添加语句采用序列自增的问题
    oracle和mysql的一些区别
    mapper.xml实现oracle的分页语句
    2.数组的解构赋值
    3.Vue 实例
    2.Vue.js 是什么
    1. vue 的安装
  • 原文地址:https://www.cnblogs.com/XiHua/p/4970761.html
Copyright © 2011-2022 走看看