我正在阅读:https: //wiki.diasporafoundation.org/Git_workflow#Rebase_your_development_branch_on_the_latest_upstream
这是一个摘录:
您的存储库是最新的
为了从开发中继获取最新更新,请执行一次性设置,通过输入以下内容将主GitHub存储库建立为远程:
Run Code Online (Sandbox Code Playgroud)$ git remote add upstream git://github.com/diaspora/diaspora.git在最新上游重新启动您的开发部门
要使您的开发分支保持最新,请在上游主服务器的当前状态之上重新定义您的更改.看看什么是git-rebase?以下部分了解有关变基的更多信息.
如果您已经设置了上面详细说明的上游分支,以及一个名为100-retweet-bugfix的开发分支,那么您将更新上游,更新本地主服务器,并从中重新分配您的分支,如下所示:
Run Code Online (Sandbox Code Playgroud)$ git fetch upstream $ git checkout master $ git rebase upstream/master $ git checkout 100-retweet-bugfix[确保在分支中根据需要提交所有内容]
Run Code Online (Sandbox Code Playgroud)$ git rebase master
为什么在这种情况下需要添加"远程上游"?我不是刚才做的:
$ git checkout master
$ git pull origin master
$ git checkout 100-retweet-bugfix
Run Code Online (Sandbox Code Playgroud)
[确保在分支中根据需要提交所有内容]
$ git rebase master
Run Code Online (Sandbox Code Playgroud) 我们有一个项目,主要是通过复制/粘贴方法分解.但是回购之间仍然存在重大的重叠.
是否可以追溯性地将此fork标记为github的fork,以便比较和pull请求等函数能做正确的事情?
注意:我尝试了下面的"hack",重新分叉,克隆fork,复制"forked"内容,然后git add/commit/push.但是,原始"fork"中的文件历史记录丢失了,并且分支不会过来.
在GitHub的情况下,我添加了一个名为的远程upstream用于使用以下方法将最新更改提取到我的分叉仓库:
git remote add upstream git@github.com:<original_author_name>/<productname>.git
Run Code Online (Sandbox Code Playgroud)
在这里,git@github.com:<original_author_name>/<productname>.git显示在我的github dashborad上,一旦我分叉了回购.
但是在Bitbucket的情况下,我总是看到我的分叉回购位置,但不是我从中分叉的原始来源.现在我如何才能找到原始仓库的位置,我可以添加为远程 - 上游从原始我分叉的最新变化?