git merge用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git merge用法相关的知识,希望对你有一定的参考价值。

参考技术A

git merge用法如下:

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

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

1、git merge dev

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

2、git merge dev --no-ff

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

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

3、git merge dev --squash

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

git本地分支merge到远程分支

参考技术A git checkout -b fjhbranch develop
基于远程的develop分支创建本地分支

on branch fjhbranch (在本地分支)
git add .
git commit -m"xxxxx"

git checkout develop
git merge --no-ff fjhbranch
git push origin develop

以上是关于git merge用法的主要内容,如果未能解决你的问题,请参考以下文章

git 日常用法

git log -p 的用法

git的基本用法

git merge为啥会覆盖

【Git】rebase 用法小结

git tag的基本用法