Git合并开发成功能分支输出"已经是最新的",而不是

Mee*_*tat 43 git merge

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

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

git merge develop 
Run Code Online (Sandbox Code Playgroud)

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

git diff develop表明存在差异branch-x和发展.

我如何合并发展成branch-x

Mar*_*oun 81

您应首先pulldevelop分支进行更改,然后将它们合并到您的分支:

git checkout develop 
git pull 
git checkout branch-x
git rebase develop
Run Code Online (Sandbox Code Playgroud)

或者,当开启时branch-x:

git fetch && git rebase origin/develop
Run Code Online (Sandbox Code Playgroud)

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

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

然后使用它:

git fr develop
Run Code Online (Sandbox Code Playgroud)

  • 盲目使用“git rebase”是危险的。它可能很容易创建无法编译的无意义提交。 (8认同)

zdr*_*oft 30

使用源“开发”分支的最新代码逐步自我解释用于更新功能分支的命令:

git checkout develop
git pull -p
git checkout feature_branch
git merge develop
git push origin feature_branch
Run Code Online (Sandbox Code Playgroud)

  • “-p”选项有什么作用?我在我的联机帮助页中找不到它。 (2认同)
  • git pull -p -p 与 --prune 相同,此选项会清理过时的分支。您可以定义自动修剪,而不是使用参数:/sf/ask/1281597481/ 在上面的示例中,无法使用 -p 选项。 (2认同)
  • 如果“git mergedevelop”CMD后存在任何合并冲突,请修复合并问题并使用“git add <mergedFile>”添加这些手动合并的文件。然后提交更改“git commit -m”合并开发到 feature_branch”,然后执行最后一个 CMD 将更改推送到原始 feature_branch。由于“建议的编辑队列已满”错误,无法编辑答案。 (2认同)

小智 10

git pull origin develop
Run Code Online (Sandbox Code Playgroud)

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


小智 9

git fetch && git merge origin/develop
Run Code Online (Sandbox Code Playgroud)

  • 'git pull origindevelopment' 是等价的 (3认同)

Lin*_*dha 5

最初,我的存储库说“已经更新”。

MINGW64 (feature/Issue_123) 
$ git merge develop
Run Code Online (Sandbox Code Playgroud)

输出:

Already up to date.
Run Code Online (Sandbox Code Playgroud)

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

MINGW64 (feature/Issue_123)
$ git diff develop
Run Code Online (Sandbox Code Playgroud)

输出:

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
Run Code Online (Sandbox Code Playgroud)

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

MINGW64 (feature/Issue_123)
$ git merge origin/develop
Run Code Online (Sandbox Code Playgroud)

输出:

Updating c7c0ac9..09959e3
Fast-forward
3 files changed, 157 insertions(+), 92 deletions(-)
Run Code Online (Sandbox Code Playgroud)

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

MINGW64 (feature/Issue_123)
$ git diff develop
Run Code Online (Sandbox Code Playgroud)

现在代码没有差异!