从其他存储库创建存储库合并提交

时间:2014-03-17 01:14:10

标签: git

我有一台计算机(让我们称之为A),我已经在一个项目上工作,我在那里有所有的源代码。我创建了一个本地Git存储库,并且我已经做了几次提交。

现在我有了一台新电脑(让我们称它为B,我想设置为该电子邮件的服务器,以便我可以在电脑A中工作,我可以将代码推送到B. 如果我从零开始,我会在B中创建一个repo,然后从A中做一个git clone。问题是我已经有了A中的代码,并且有很多提交我可以&#39输了。我需要以某种方式将所有代码复制到B,然后导入或合并我在A中提交的所有提交,然后我可以从A git clone进行。这是否有意义?

2 个答案:

答案 0 :(得分:0)

您可以初始化裸存储库,然后只需推送当前历史记录:

git init --bare # On box B

然后:

git remote add origin <box b>
git push --mirror origin

man页面解释了--mirror

   --mirror
       Instead of naming each ref to push, specifies that all refs under
       refs/ (which includes but is not limited to refs/heads/,
       refs/remotes/, and refs/tags/) be mirrored to the remote
       repository. Newly created local refs will be pushed to the remote
       end, locally updated refs will be force updated on the remote end,
       and deleted refs will be removed from the remote end. This is the
       default if the configuration option remote.<remote>.mirror is set.

另请参阅:Is "git push --mirror" sufficient for backing up my repository?

答案 1 :(得分:0)

通过在计算机B上克隆您的项目,您不会失去任何提交。您可以在计算机A上工作,推送提交,然后将它们放在计算机B上。也许我是没有完全理解你的难题,但这似乎是最简单的解决方案。