精华内容
下载资源
问答
  • git merge用法

    2020-08-19 19:42:48
    git merge dev git push -u origin master 二、当master代码改动了,需要更新开发分支(dev)上的代码 git checkout master git pull git checkout dev git merge master git push -u origin dev ...

    一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支

    git checkout dev
    git pull
    git checkout master
    git merge dev
    git push -u origin master

    二、当master代码改动了,需要更新开发分支(dev)上的代码

    git checkout master 
    git pull 
    git checkout dev
    git merge master 
    git push -u origin dev

     

    展开全文
  • 文章目录一、前言二、应用场景2.1 开发分支(dev)上的代码达到上线标准后,合并到 master 分支2.2 当master代码改动,需要更新开发分支(dev)上的代码三、拓展阅读 一、前言 ...# merge --no-ff参数,


    一、前言

    应用git进行版本管理时,多团队成员协同开发过程中,代码合并操作十分常见。

    二、应用场景

    2.1 开发分支(dev)上的代码达到上线标准后,合并到 master 分支

    git checkout dev
    git pull
    git checkout master
    git pull
    # merge  --no-ff参数,表示禁用Fast forward;可以保存之前的分支历史。能够更好的查看merge历史,以及branch状态.
    #保证版本提交、分支结构清晰
    git merge --no-ff  dev
    git push -u origin master
    

    master 分支为保护分支时,执行git push -u origin master会提示远程服务器拒绝,此时需要在浏览器进行远程仓库merge操作。

    2.2 当master代码改动,需要更新开发分支(dev)上的代码

    git checkout master 
    git pull 
    git checkout dev
    # merge  --no-ff参数,表示禁用Fast forward;可以保存之前的分支历史。能够更好的查看merge历史,以及branch状态.
    #保证版本提交、分支结构清晰
    git merge --no-ff  master
    git push -u origin dev
    

    三、拓展阅读

    展开全文
  • git merge 用法

    万次阅读 2019-04-04 20:33:20
    怎么 merge 首先更新本地分支和远程分支为最新代码, 分别对要参与 merge 的两个分支做如下两个操作: 切换分支 git checkout <branch_name> 更新分支 git fetch && git pull --rebase 切换到 master ...

    怎么 merge

    首先更新本地分支和远程分支为最新代码, 分别对要参与 merge 的两个分支做如下两个操作:

    切换分支

    git checkout <branch_name>
    

    更新分支

    git fetch && git pull --rebase
    

    切换到 master 分支

    git checkout <master_branch>
    

    merge 远端分支, 比如开发分支 dev-2.6.0

    git merge --no-ff dev-2.6.0
    

    参数 --no-ff 意思是不要快进的, 保证总是生成一个 merge commit. 因为默认情况如果是支持快进的 merge 则不会生成一个 merge commit. 生成一个 merge commit 在 push 代码到 gerrit 上后会只有一个 merge 的 patch 提交, 否则会生成所有远程分支相对本地分支新增的 commit patch 提交.

    如果没有冲突, 则会直接生成一个 merge commit, 不要修改自动生成的 commit message.

    merge 冲突

    冲突产生的原因

    在不同分支上对同一个文件同一部分代码做了不同修改

    冲突的文件主要分为三种类型:

    1) 双方修改(both modified)

    开启 diff3, 可同时查看 local(本地分支), remote(远端分支), common ancestors(共同祖先) 的差异:

    git config --global merge.conflictstyle diff3
    

    比如:

    import com.bean.ApiRequest.ListRequest;
    <<<<<<< HEAD(本地分支)
    import com.base.net.APIService;
    ||||||| merged common ancestors (公共祖先)
    import com.base.BaseActivity;
    import com.base.net.APIService;
    =======
    import com.base.BaseActivity;
    >>>>>>> dev-2.6.0(远程分支)
    import com.net.rxcompat.SimpleSubscriber;
    

    对比本地分支和远程分支基于共同祖先分别做了哪些修改, 做一个合并.

    如果无法区分取舍, 请联系这两个修改的作者. 方法如下.

    查看冲突文件不同分支上的差异 commit:

    git log --left-right --merge <file>
    

    或者:

    git log --left-right HEAD...MERGE_HEAD <file>
    

    上面命令可加上 -p 参数同时显示每个差异 commit 的 diff, 快速查看冲突的行都是哪些 commit 修改的.

    可通过下面命令时使冲突文件以本地分支为准

    git checkout --ours <file>
    

    可通过下面命令时使冲突文件以远程分支为准

    git checkout --theirs <file>
    

    上面两个命令谨慎使用, 因为会丢弃本地/远程分支对这个文件的修改.

    解决完成冲突的文件执行:

     git add <file>
    

    2) 由我们删除(deleted by us)

    未合并的路径:
      (酌情使用 "git add/rm <文件>..." 标记解决方案)
    
    	由我们删除:src/main/java/com/android/Main.java
    
    

    产生的原因: 本地分支的文件被删除了, 远端分支存在 commit 对其仍然做了修改就会产生冲突.

    务必同删除这个文件的作者确认下文件是否真的被删除了, 因为可能存在下面的情况:

    1. 文件重命名了(如 java 转换为了 kt)
    2. 文件被转移了(转移到其他 project 或其他包名目录下)
    3. 文件中代码逻辑被整合到另外一个文件中(如删除了 base 类, base 类逻辑放到派生类中了)
    4. 其他文件非真正被删除的情况

    如果是以上情况, 需要把远端分支对这个文件的修改 commit 同步到这个文件的最新的位置, 防止 commit 丢失. 最后, 执行 git rm 删除这个冲突文件即可.

    如果文件确定要被删除, 直接执行命令移除该文件:

    git rm {file}
    

    3) 由他们删除(deleted by them)

    操作方式同"由我们删除(deleted by us)", 产生冲突的区别是, 远程分支删除了文件, 本地分支仍然基于远程分支删除文件之前的祖先版本做了修改.

    所有文件冲突解决完成后, 本地确保编译通过后, 执行:

    git merge --continue
    

    放弃本次 merge 操作可通过:

    git merge --abort
    

    如果已经完成了 merge 后发现 merge 的存在问题, 可以通过丢弃最近一次 commit 再重做 merge:

    git reset --hard HEAD~1
    

    merge 注意事项

    • 不要修改 merge commit 默认的 message
    • 不要在 merge commit 上做除了解决冲突以外的修改
    • 谨慎使用 git checkout —ours/theirs 解决冲突
    • 提交merge代码时, 不要在本地做 rebase.
    • 无法确定的操作一定要寻求有经验的同事帮助.

    参考链接

    Advanced Merging

    展开全文
  • git merge用法

    千次阅读 2020-11-27 14:23:31
    现在整理下git merge的几个概念和用法 Fastforward https://blog.csdn.net/qq_25800311/article/details/81986263 当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针。这个过程叫做fast...

    现在我们有一个主分支dev,现在有一些feature分支,需要偶尔将dev分支的稳定代码合入feature分支,所以用到git merge

    现在整理下git merge的几个概念和用法

     

    Fast forward 

    https://blog.csdn.net/qq_25800311/article/details/81986263

    当前分支合并到另一分支时,如果没有分歧解决,就会直接移动文件指针。这个过程叫做fastforward

    举例来说,开发一直在master分支进行,但忽然有一个新的想法,于是新建了一个develop的分支,并在其上进行一系列提交,完成时,回到 master分支,此时,master分支在创建develop分支之后并未产生任何新的commit。此时的合并就叫fast forward。

    1、git merge dev

    是将dev的分支合并到当前分支,应该默认是fast forward模式

    2、git merge dev --no-ff

    https://blog.csdn.net/qq_39416311/article/details/81264792

    --no-ff指的是强行关闭fast-forward方式。

    ast-forward方式就是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并。属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息。因为在这个过程中没有创建commit

    3、git merge dev --squash

    是用来把一些不必要commit进行压缩,比如说,你的feature在开发的时候写的commit很乱,那么我们合并的时候不希望把这些历史commit带过来,于是使用--squash进行合并,此时文件已经同合并后一样了,但不移动HEAD,不提交。需要进行一次额外的commit来“总结”一下,然后完成最终的合并

     

    Gerrit

    1、--no-ff  合并后生成的一个commit如果push到gerrit不是一个单独的change,无法通过cherry-pick下载合并

         在gerrit的change格式是:http://git.****.com/#/c/767312/-1..6

     

         

    2、--squash 是生成一个单独的commit,一个单独的change,可以通过cherry-pick下载并合并到本地

     

    展开全文
  • idea中git merge用法问题

    2020-06-18 09:57:56
    B分支合并到A分支上,然后由于各种原因A分支回滚,导致B分支上的代码是没有的。 B分支再次合并到A分支时,显示Already up-to-date. 查看代码A分支上并没有B分支的代码。请问如何解决
  • 大家好,今天和大家聊聊git当中一个非常好用的功能——区间选择,它可以帮我们处理看起来非常复杂的提交记录。从而帮助我们很快找到我们需要的内容。如果大家有参与过多人协同的项目开发,比如十几个人甚至更多的...
  • git在工作中的正确使用方式---git merge

    万次阅读 多人点赞 2019-01-02 17:05:30
    Merge &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;merge就是合并的意思.
  • git merge最简洁用法

    万次阅读 多人点赞 2019-06-28 17:00:16
    一、开发分支(dev)上的代码达到上线的标准后,要合并到 master ...git merge dev git push -u origin master 二、当master代码改动了,需要更新开发分支(dev)上的代码 git checkout master git pull git ch...
  • merge合并分支 先进入主分支 git merge 分支名 不过有一个坑,如果两个分支的内容太少,那就会覆盖,(一般要3行以上的代码或者数据,就会发生内容冲突,合并); ...
  • 目录背景问题探究 背景 某天同事小L找我帮忙解决代码冲突引起的问题,折腾一番之后,问题解决了。...因为我平时都是切换到master分支,git pull,然后切换到自己开发分支,再git merge master,对前面
  • 导读git-merge 命令是用于从指定的 commit(s) 合并到当前分支的操作,本文重点给大家介绍git merge最简洁用法,感兴趣的朋友跟随小编一起看看吧git merge 是在 Git使用比较频繁的一个命令,其主要用于将两个或两...
  • git merge的三种操作merge, squash merge, 和rebase merge 举例来说: 假设在master分支的B点拉出一个新的分支dev,经过一段时间开发后: master分支上有两个新的提交M1和M2 dev分支上有三个提交D1,D2,和D3 如...
  • 怎样使用git mergetool

    2021-02-28 15:55:48
    当我们用多台机器开发同一个代码库时,不同机器的提交以及拉取总会产生不同代码片段难以merge的情况,这时候需要手动merge使用的就是git mergetool。 如果执行git pull的时候有代码不能自动mergegit就会报出错误...
  • 使用 `git merge` 命令合并代码的时候可能会产生文件冲突,产生这种冲突的根本原因是文件的同一处同时被多次修改,这种同时修改常体现的不同分支上,当多个分支修改了同一处代码,再合并代码的时候就会产生冲突,...
  • Using gitk log , I could not spot a difference between the two. 使用gitk log ,我无法发现两者之间的差异。 How can I
  • 文章目录1、参考2、git-rebase的命令格式3、git-rebase用法4、git rebase冲突解决5、git rebase与git merge的区别 1、参考 git rebase命令 【Git】rebase 用法小结 2、git-rebase的命令格式 git rebase [-i | --...
  • vim-mergetool:将Vim用作Git合并工具的有效方法
  • 关于git merge 冲突问题

    千次阅读 2018-10-10 18:32:21
    git错误提示如下 fatal: refusing to merge unrelated histories 解决办法 git merge --allow-unrelated-histories ...“git merge” used to allow merging two branches that have no common base by defau...
  • 1.本地拉一个分支出来 git checkout -b xxx 2.开发完以后提交到远程分支 git add . git commit -m dev git push -u origin dev ...git merge dev 5.把本地的master同步到远程 git push origin maste...
  • git merge 单个文件

    2018-12-13 10:20:57
    根据commitID merge 我这边出了一个坑, 在此给出另外一个解决方案, 特供参考...git checkout -p &lt;branch&gt; 文件名  Apply this hunk to index and worktree [y,n,q,a,d,/,e,?]? (是否将补丁加入暂存区...
  • “gpake/qiniu-wxapp-sdk” 使用 pull 拉取原仓库的 master 分支: git pull gpake/qiniu-wxapp-sdk master:jellyfishmix 提示:pull 的格式(参考自 git pull命令的用法git pull <远程仓库名> <远程分支名>:...
  • git merge ---分支合并

    2020-11-05 18:03:36
    基于上一篇:git checkout -分支的新建和git commit --分支的提交的背景,继续了解使用的命令git merge 文档介绍 NAME git-merge - Join two or more development histories together SYNOPSIS git merge [-n] [–...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,783
精华内容 15,113
关键字:

gitmerge用法

友情链接: PMOD.rar