将现有分支从一个存储库合并到新存储库的另一个分支

时间:2013-11-17 21:17:55

标签: git github

我在公司的github帐户中创建了一个新的存储库,我将自己添加为存储库的贡献者。我想将所有内容从用户A的存储库(usera.git)移动到新创建的公司的存储库(company.git)。我在我的机器上克隆了用户A的存储库,因为我是它的贡献者。我也在usera.git的分支上进行了提交,我们可以调用brancha。我想将brancha的整个历史以及我的暂存提交移动到company.git存储库的主分支。

git remote -v
origin  https://github.com/usera/usera.git (fetch)
origin  https://github.com/usera/usera.git (push)

git remote add company https://github.com/company/company.git

git remote -v
company https://github.com/company/company.git (fetch)
company https://github.com/company/company.git (push)
origin  https://github.com/usera/usera.git (fetch)
origin  https://github.com/usera/usera.git (push)

git status
# On branch usera
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   app/assets/javascripts/application.js.erb
#       ...

我不知道此时该做什么。新创建的company.git目前是一个空的存储库。我想将整个历史记录,以及要提交的更改(我不想将更改提交到usera的存储库)移动到新的company.git存储库的主分支。我跑的时候

git fetch company

什么都没发生(通常你会看到像[new branch]这样的反馈)。我运行“git branch”并且没有从公司存储库添加新的主分支。

我希望它能够拉下主分支,然后允许我签出那个主分支,然后将整个历史记录和分阶段的变化合并到其中。

1 个答案:

答案 0 :(得分:1)

没有远程主人下拉和合并;如你所说,company回购是空的。

但这也意味着任何此类事情都是不必要的。您可以git push company usera:master将本地分支usera推送到master上的company。您可以在该推送中添加-u选项,以使usera始终跟踪company/master,或者之后可以使用git checkout创建新的分支跟踪company/master