“Git合并开发为功能分支输出”;已经是最新的”;而它';不是

“Git合并开发为功能分支输出”;已经是最新的”;而它';不是,git,merge,Git,Merge,我从develope中签出了一个名为branch-x的功能分支。过了一段时间,其他人将更改推到开发分支 我想将这些更改合并到我的分支-x。然而,如果我这样做 git merge develop 上面写着“已经是最新的”,不允许我合并 gitdiff-develope表明branch-x和develope之间存在差异 如何将develop合并到分支-x?您应该首先将develop分支的更改合并到您的分支: git checkout develop git pull git checkout

我从develope中签出了一个名为
branch-x
的功能分支。过了一段时间,其他人将更改推到开发分支

我想将这些更改合并到我的
分支-x
。然而,如果我这样做

git merge develop 
上面写着“已经是最新的”,不允许我合并

gitdiff-develope
表明
branch-x
和develope之间存在差异

如何将develop合并到
分支-x

您应该首先将
develop
分支的更改合并到您的分支:

git checkout develop 
git pull 
git checkout branch-x
git rebase develop
或者,当启用分支-x时:

git fetch && git rebase origin/develop

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

[alias]
    fr = "!f() { git fetch && git rebase origin/"$1"; }; f"
现在,您所要做的就是:

git fr develop
最初,我的回购协议说“已经更新”

输出:

Already up to date.
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
Updating c7c0ac9..09959e3
Fast-forward
3 files changed, 157 insertions(+), 92 deletions(-)
但是代码不是最新的&它在一些文件中显示了一些差异

MINGW64 (feature/Issue_123)
$ git diff develop
输出:

Already up to date.
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
Updating c7c0ac9..09959e3
Fast-forward
3 files changed, 157 insertions(+), 92 deletions(-)
然而,合并解决了这个问题

MINGW64 (feature/Issue_123)
$ git merge origin/develop
输出:

Already up to date.
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
Updating c7c0ac9..09959e3
Fast-forward
3 files changed, 157 insertions(+), 92 deletions(-)
我再次使用
diff
命令确认了这一点

MINGW64 (feature/Issue_123)
$ git diff develop
现在代码没有差别了

git fetch && git merge origin/develop

因为将一个分支拉入另一个分支会直接将它们合并在一起

一步一步地自我解释用于使用源代码“开发”分支的最新代码更新特征分支的命令:


很抱歉,我没有在我的问题中描述它,但我已经将更改拉到了我的本地计算机上。因此,这并不是问题的根源。盲目使用
git-rebase
是危险的。它可能很容易创建不可编译的无意义的提交。@但是,如果当前分支已经有提交,并且您希望在合并后“挤压”一些提交,那么在这种情况下重设基础会更好。您的分支真的是最新的吗?拉有时会失败。尝试
git checkout develope
git merge origin/develope
Yes,“git merge origin/develope”输出已经是最新的。“git pull origin develope”是一种等效的方法,这是最简单的方法。谢谢。
-p
选项有什么作用?我在我的主页中找不到它。只需提交feature_分支中的所有内容,然后尝试此答案。git pull-p-p与--prune相同,此选项用于清理过时的分支。您可以定义自动修剪,而不是使用参数:在上面的示例中,无法使用-p选项。