请考虑以下情形:
我在自己的Git仓库中开发了一个小型实验项目A. 它现在已经成熟,我希望A成为更大的项目B的一部分,它有自己的大型存储库.我现在想添加A作为B的子目录.
如何将A合并到B中,而不会丢失任何一方的历史记录?
我正在阅读: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) 我按照给定的说明(http://octopress.org/docs/setup/)设置了一个Octopress项目,它可以创建一个Github存储库,并在您的机器上创建一个本地存储库.在本地计算机上,将远程添加到原始Octopress存储库,然后发出"git pull"命令.然后,将远程添加到Github存储库,以便将更改推送到存储库.
所有这些都可以工作,但它不会创建原始项目的分支,这意味着没有明显的(以新手)方式向原始Octopress存储库发出拉取请求.
有没有办法让我在Github上添加原始Octopress存储库的分支到我的存储库实例?
如果没有办法,我可以安全地删除我的Github Octopress实例,在Github上分割原文,然后从我的本地存储库添加一个新的远程到新分叉的Octopress吗?