2

我试图搜索这个问题,但他们都没有回答我的问题。

请让我举个例子:
我在git服务器中有两个分支

origin/master
origin/feature

分支“功能”是从“主”分支出来的,因为其他人都在“主”上工作,我不想影响他们,所以我在本地分支了“功能”并将其推送到远程。

由于'master'上的每个提交,两天后,我想在我的'feature'上提取最少的代码,有没有办法可以将代码从'origin/master'合并到'origin/feature',然后只需拉出最少的“来源/特征”。

我试过了

git checkout origin/feature
git merge origin/master
git status # you would see that this is the lease code with lots of commits
git checkout feature
git pull

但是,在 i 之后git pull,我什么也没得到,即使是那些最少的提交也会丢失。

所以我意识到origin/feature在本地将只是origin/feature远程的图像。这就是为什么我的方法没有奏效。

满足我要求的另一种方法是

git checkout feature
git stash
git pull origin master:feature
git push origin feature:feature # or just [git push]
git stash pop stash@{0}

这就是我现在使用的方式。

我想知道有没有一种方法可以直接合并这两个远程分支而无需推送任何内容?

4

1 回答 1

1
#fetch latest changes in origin
git fetch origin

git checkout feature

#to sync feature with what you have now
git push origin feature

#merge locally, while you sit on feature
git merge origin/master
#now push the merge to the origin
git push origin feature
于 2015-07-13T19:30:32.223 回答