Git合并发展为功能分支输出"已经是最新的"虽然不是

时间:2015-10-26 09:29:54

标签: git merge

我查看了一个名为branch-x的开发的功能分支。一段时间后,其他人将更改推送到开发分支。

我想将这些更改合并到我的branch-x中。但是,如果我这样做

git merge develop 

它说"已经是最新的"并且不允许我合并。

git diff develop表明branch-x与发展之间存在差异。

如何将开发合并到branch-x

5 个答案:

答案 0 :(得分:62)

您应首先pull来自develop分支的更改,然后才将它们合并到您的分支:

git checkout develop 
git pull 
git checkout branch-x
git merge develop

或者,当branch-x时:

git fetch && git rebase origin/develop

我有一个别名,可以节省我很多时间。添加到您的~/.gitconfig

[alias]
    fr = "!f() { git fetch && git rebase origin/"$1"; }; f"

使用:

git fr develop

答案 1 :(得分:10)

一步一步地自我解释使用来自起源“ develop”分支的最新代码来更新功能分支的命令:

data class YourItem(val someState: Boolean)

答案 2 :(得分:4)

git pull origin develop

由于将一个分支拉到另一个分支中,直接将它们合并在一起

答案 3 :(得分:3)

最初,我的仓库说“已经更新了”。

MINGW64 (feature/Issue_123) 
$ git merge develop

输出:

Already up to date.

但是代码不是最新的,并且在某些文件中显示出一些差异。

MINGW64 (feature/Issue_123)
$ git diff develop

输出:

diff --git 
a/src/main/database/sql/additional/pkg_etl.sql 
b/src/main/database/sql/additional/pkg_etl.sql
index ba2a257..1c219bb 100644
--- a/src/main/database/sql/additional/pkg_etl.sql
+++ b/src/main/database/sql/additional/pkg_etl.sql

但是,合并可以解决此问题。

MINGW64 (feature/Issue_123)
$ git merge origin/develop

输出:

Updating c7c0ac9..09959e3
Fast-forward
3 files changed, 157 insertions(+), 92 deletions(-)

我再次使用diff命令确认了这一点。

MINGW64 (feature/Issue_123)
$ git diff develop

现在代码没有区别!

答案 4 :(得分:2)

git fetch && git merge origin/develop