git在merge后会不会把最新代码更新过来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git在merge后会不会把最新代码更新过来相关的知识,希望对你有一定的参考价值。

您好,是的,git在merge后会把最新代码更新过来。Git是一个版本控制系统,它可以跟踪文件的更改,以便在需要时回滚到以前的版本。当你合并两个分支时,git会把最新的代码更新到你的分支中,这样你就可以看到最新的代码,并且可以继续开发。 参考技术A 当你使用git merge时,它会将新代码和最新版本合并到一个新的分支中,而不会更新最新版本。如果你想更新最新版本,你可以使用git pull或者git rebase来更新代码。 参考技术B 新旧代码合并

1、切换到master主分支,这个分支没有进行修改过代码。git checkout master

2、git fetch 从云端得到新增加的代码。

3、git merge 把新增加的代码合并到mater分支。

4、现在的master就是最新的分支。

Git使用详解Egit的常用操作详解

常用操作


操作

说明

Fetch

从远程获取最新版本到本地,不会自动merge

Merge

可以把一个分支标签或某个commit的修改合并现在的分支上

Pull

从远程获取最新版本并merge到本地相当于fetch+merge

Push

将本地分支的更新,推送到远程主机

Merge tool

当你的代码产生了冲突可以通过此工具快速的对比

Switch to

将当前分支切换到其它分支或标签

Commit

将更改提交到本地库中

Rebase

可以把在一个分支里提交的改变移到另一个分支里重放一遍

Reset

将当前分支切换到本分支以前的任何一个版本状态,即所谓的“回溯”

EGit的恢复版本功能与使用Git Reset命令一样,而恢复的方式又分为Soft、Mixed、Hard三种:
•Soft:恢复到前面版本,保留文件变更内容,且将已变更的所有文件加到准备区(Staging Area)。
•Mixed:恢复到前面版本,保留所有已变更文件的变更内容。
•Hard:恢复到前面版本,不保留所有已变更文件的变更内容。

Untrack

将已经添加到版本控制的文件取消监视,及不再对其进行版本控制

Ignore

忽略指定的文件或文件夹,此功能用在还没有进行版本控制的文件上

Compare with

此功能允许你将当前文件和指定时期的文件进行对比

 

常用操作对比


Branch和Tag的区别:

tag多用于建立里程碑。比如开发达到某中程度,发布某个版本,如V1.0,可以使用tag标注。这样,以后对于程序版本号就可以找到对应的代码状态,并进行build等操作。理论上,tag作为里程碑的镜像存储,应该是只读的才对。

相比,branch是工程需要并行开发不同版本而创建的。如一个原型项目完成后,可能有不同的客户购买并定制,于是就需要在这个原型上构建两个独立的开发库,各自并行开发不同客户的需要。这样,branch可以是进程中的工程,而且之后会不断修改的。

由此,可以看出tag和branch的差别。tag更重要的是记录某个里程碑,只是希望得到那个状态时的代码状态,这对bug的确认和查找很有用处。而各个branch之间是可以肆意各自的改动,互不相干的,branch上也可以有自己的tag。

Merge和Rebase的区别:

下面通过一个实例来讲解一下两种方式的区别:

假设原先有A,B,C三个提交记录

 

开发者提交了D,开发者 Ed提交了E

 

下面使用MERGE和REBASE两种方式分别对代码进行合并

MERGE方式:

 

这时D和E的提交仍然在这,但是我们创建了一个新的提交记录M,此时的状态图成了一个菱形,这让很多人看起来很混乱。

REBASE方式:

 

从上图可以看出这种方式创建了提交R,这时的内容和M实际上是相同的。但是这时没有了E,所以整个提交记录是看起来是一条线。

 

推荐阅读:

 

【Git使用详解】Egit插件的安装图解

【Git使用详解】使用Egit克隆项目到本地图解 

【Git使用详解】Git的使用心得 

【Git使用详解】Egit使用过程中遇到的问题及解决办法 

 

以上是关于git在merge后会不会把最新代码更新过来的主要内容,如果未能解决你的问题,请参考以下文章

git 使用之 更新本地仓库 git

Git使用详解Egit的常用操作详解

Git实用记录

idea冲突文件没有merge窗口

IDEA中Git更新合并代码后,本地修改丢失

每日一条 Git 命令:git merge remote master