我一直在阅读&使用git但仍然对“起源”一词感到困惑。
我有一个本地回购,我在上面开了一个新的分支。这个新分支是我主人的副本。
我的主人是原始主人的一个分支,另一个由其他人制作的回购,并且在一些提交中领先于原始主人,在其他一些提交后面。
我想将我的分支“myBranch”与原始主人合并。即,我希望我的新分支是原始主人(不是我自己的主人)的克隆
怎么去?
我已经尝试过git rebase,git merge, - set-upstream-to =,git fetch ......说实话我只是感到困惑。
答案 0 :(得分:5)
'origin'只是git给远程存储库提供的默认名称 - 在你的情况下是你在github上的fork。如果您愿意,可以将该名称覆盖为更有意义的名称。 (我经常使用'github'或'bitbucket'而不是'origin')。
您的本地主分支可能正在跟踪远程存储库上的主分支。这将允许您使用
将更改从主服务器推送到远程主服务器 git checkout master
git push origin master
要处理新分支的更改,您需要先将它们合并到本地主分区中:
git checkout master
git merge mybranch
然后,您将能够将这些更改推送到远程仓库。
然后,您可以在github上创建一个“拉取请求”,以便原始所有者可以根据需要将您的更改合并到他们的仓库中。
要使您的fork更新到原始版本的更改,您需要将另一个远程添加到本地存储库:
git remote add original <url to orginal github repo>
然后您可以从那里获取更改到您的本地仓库:
git checkout master
git fetch original
git rebase original/master
如果你愿意,可以将它们合并到mybranch中:
git checkout mybranch
git rebase master