如何解决Git中的“此分支领先于master X个提交,落后于master X个提交”问题

3
我可以帮您翻译以下内容,涉及IT技术相关:

我有一个包含devmaster分支的Git仓库。我在dev分支上添加了新内容,并提交了这些更改。目前为止一切都很好,但是我收到了以下信息:

Original Answer:最初的回答
This branch is 5 commits ahead, 12 commits behind master.

现在我该怎么办呢?

基本上,我想将主分支合并到dev分支中,而不会丢失dev分支中新添加的更改,然后将所有更改合并到主分支。

有人能帮帮我吗?

注:Original Answer翻译成"最初的回答"


我将通过执行仅快进合并的方式在远程主分支上变基 git fetchgit merge --ff-only origin/master。当然,在出现冲突时需要解决冲突。 - undefined
1个回答

8

和git中的大多数事情一样,你有几个选项

将主分支合并到你的开发分支中

git fetch origin master   
git checkout dev
git merge origin/master
git checkout master
git merge dev

将dev分支变基到当前的master分支之上

git fetch origin master
git checkout dev
git rebase origin/master
git checkout master
git merge --no-ff dev

使用变基后,您的历史记录将更加清晰。


没有拉取/获取?那有什么帮助呢? - undefined
我添加了一个fetch。没想到这是必要的,因为git已经知道它是落后/超前的。 - undefined
@EncryptedWatermelon 我应该以主分支为起点吗?我的意思是在我运行你在答案中列出的命令之前? - undefined
@EncryptedWatermelon 啊,好的,但还是 git fetch master 吗? - undefined
git fetch对你当前的检出不会产生任何影响。它从远程仓库获取最新的更改,并在本地提供这些更改。在fetch之后,你需要进行合并来应用本地更改。而git pull是fetch和merge的组合操作。 - undefined
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接