将现有的git仓库与新仓库合并

时间:2018-06-28 22:32:13

标签: git

我在GitHub上托管了一个git存储库。我最近切换了机器,并手动将文件复制到了新机器上,而不是进行git pull的操作,这有点忘记了。现在,我进行了一些更改并启动了一个新的git仓库,同时将GitHub仓库添加为远程仓库。我需要知道如何合并两个存储库,即保留我的提交历史记录(来自GitHub的提交历史记录)以及对新的记录所做的更改?谢谢!

3 个答案:

答案 0 :(得分:2)

您只需要使用上游分支来重新建立新分支。为此,您可以使用git branch -u origin/my_branch为新分支设置一个上游分支(假设您添加的远程称为origin,并且您当前在新分支上),然后执行git pull --rebase进行基准您的分支。之后,您可以在GitHub上的现有提交之上git push进行新提交。

答案 1 :(得分:1)

如果更改不太多(仅一次提交就值得了),这真的很容易:

  1. 将Github的(原始)存储库克隆到一个新文件夹中。 git clone ssh://... newfolder
  2. 从进行更改的文件夹中复制并粘贴所有文件,并覆盖newfolder中的文件
  3. newfolder中提交并推送。此时,您的Github历史记录是正确的。删除旧文件夹,将新文件夹命名为任意名称。

答案 2 :(得分:1)

由于已经设置了远程URL,因此可以创建一个新分支来存储更改并将其推送。以后可以在必要时合并这些分支。 要么 由于您已经创建了本地存储库并设置了remot-url,因此可以在提交后直接将其推送到存储库中。 希望这会有所帮助。