2011-03-11 94 views
1

我有一个项目,我在github上分叉到我的仓库。我对项目的“实验”分支进行了修改,将项目交给了我的分支。如果你在Github上转到我的分支,你可以看到实验分支被正确提交。我想将实验分支与原始回购(我有权)合并。我发出了以下命令:简单的github fetch/merge不拉远程分支?

git clone [email protected]:originalrepo/theproject.git 
git checkout -b experiment origin/experiment 
cd theproject 
git remote add experiment [email protected]:chumofchance/theproject.git 
git fetch experiment 
git merge experiment 
"Already up to date" 

但是,当我在资源管理器中查看项目时,似乎没有任何更改。我是否搞了一些关于取得实验分支(与主分支)?

回答

3

(作为一个非常小的点,我猜git checkout之前你真的做了cd theproject)。

我想你可能已经通过调用引用您的库GitHub上一样的远程产生了一些混乱你想要合并的分支。

最后一行实际上只是将experiment分支合并到experiment分支中,显然不会做任何更改。你可能反而想做类似的事情:

git merge experiment/foo 

......改为。

为了使它更清晰,我将调用引用您的存储库的远程控制器,以保持分支和远程控制器的独立思想。例如:

git clone [email protected]:originalrepo/theproject.git 
cd theproject 
git checkout -b experiment origin/experiment 
git remote add myforkedrepo [email protected]:chumofchance/theproject.git 
git fetch myforkedrepo 

在这个阶段,git branch -r应该告诉你一切从myforkedrepo刚才已经牵强,因为myforkedrepo/mastermyforkedrepo/foomyforkedrepo/experiment等分支机构只需选择其中之一进行合并,例如

git merge myforkedrepo/foo 
+0

谢谢!就是这样,我知道这很简单! – 2011-03-11 16:11:27

0

假设你想experiment/experiment - 在 “实验” 回购即 “实验” 分支 - 对originalrepo/master分支:

git checkout master 
git merge experiment/experiment 
git push origin master