在我的存储库中,我有一个名为aq的分支,我正在处理它。

然后我在master中提交了新的工作和bug。

将这些提交到aq分支的最佳方法是什么?从master中创建另一个新分支,并将其与aq合并?


当前回答

这个(从这里)对我很有用:

git checkout aq
git pull origin master
...
git push

引用:

Git pull origin master获取并合并master的内容 分支和你的分支并创建一个合并提交。如果有的话 合并冲突将在此阶段通知您,您必须解决 在继续之前提交合并。当你准备好推你的 本地提交,包括新的合并提交,到远程服务器, 运行git push。

其他回答

对于我来说,我已经进行了更改,我想从基础分支获得最新的更改。我无法做rebase,而选择将花费很长时间,所以我做了以下工作:

git fetch origin <base branch name>  
git merge FETCH_HEAD

在这种情况下:

git fetch origin master  
git merge FETCH_HEAD

场景:

我从master创建了一个分支,比如branch-1,并将其拉到我的本地。 我的朋友从master创建了一个分支,比如branch-2。 他向master提交了一些代码更改。 现在我想把这些更改从主分支转移到本地分支。

解决方案

git stash // to save all existing changes in local branch
git checkout master // Switch to master branch from branch-1
git pull // take changes from the master
git checkout branch-1 // switchback to your own branch
git rebase master // merge all the changes and move you git head  forward
git stash apply // reapply all you saved changes 

执行“git stash apply”后,您可以在文件中发现冲突。您需要手动修复它,现在您已经准备好执行了。

您也可以通过运行一行来实现这一点。 Git合并aq master

这相当于

git checkout aq
git merge master

要么选择相关的提交到分支aq,要么将分支master合并到分支aq。

简单的方法

# 1. Create a new remote branch A base on last master
# 2. Checkout A
# 3. Merge aq to A