Skip to content

Latest commit

 

History

History
37 lines (27 loc) · 2.43 KB

git_merge.md

File metadata and controls

37 lines (27 loc) · 2.43 KB

git merge 指令

参考资料

实践总结:

  • 关于 git merge 与 git rebase的区别请看这个教程;
  • PS: 不是小需求(半天内能完成的改动)不太建议直接使用merge指令合并分支,因为操作的都是本地分支无法保证待合并的分支(例如上述的branchName分支)是最新;
  • 解决: 使用git pull origin branchName ,使用远程 'branchName'分支合并当前分支;(git pull 指令会包含git merge操作)

git merge 常用指令:

  • git merge branchName

    • 将当前分支 与 本地 叫“branchName”分支的代码合并(branchName代码合并到当前分支);
  • git merge --no-ff branchName

    • 将当前分支 与 本地 叫“branchName”分支的代码合并(branchName代码合并到当前分支),并且显示合并细节,具体表现在 提交线路图会出现交叉线;
  • git merge --squash branchName

    • 合并新分支代码时, 只将分支新改动放入暂存区,不产生commit;(合并分支减少commit)

实践场景:

  • 1.分支testMerge 是基于master的分支;此时将master的代码备份下;

  • 2.分支testMerge 分别修改两次, 然后改完都合并到master;master 提交该改动;

  • 3.将1中master备份的代码覆盖master, 然后提交代码;

  • 4.此时再次将 分支testMerge代码git merge合并到master分支,发现其没变化了!

  • 怎样让步骤4代码有变化? 查看了下git merge --help 也没发现合适的指令;

  • 总结:操作文件尽量别脱离git(例如上述步骤3,完全可以用git指令实现相同效果);

相关指令:

  • git_branch.md 分支相关操作指令: 跟git merge有关的也就我这个指令吧?

  • git_pull.md 更新、合并指令: 这个指令是我小弟,合并分支直接找我就行!

  • git_rebase.md 合并其他分支代码指令: 其实我也可以合并其他分支代码的!