我需要维护一些与另一个存储库几乎完全相同的存储库,只需进行一些更改。因此,例如我希望能够从原始存储库中提取,但保留我所做的更改,然后推送到我自己的版本。这可能吗?
答案 0 :(得分:1)
这正是Git在您简单克隆远程存储库时所执行的操作。克隆存储库时,您将获得一个本地存储库,其中包含来自远程存储库的所有提交,但与其无关。您可以从远程引入新的更改来更新它,但您也可以在存储库中工作而不会影响远程,然后决定在需要时推送一些提交。
当然,当然,本地存储库可能不是您尝试获取的内容,因此您可以创建另一个远程存储库,您可以将其推送到“备份”本地存储库。这几乎是GitHub的工作原理:你有一个原始存储库(通常称为“上游存储库”),然后将它分成你自己的GitHub帐户。然后你在本地克隆你的fork,所以你有一个工作目录,可以贡献。当您推送时,首先推送到您的fork(您的“ origin 存储库”,因为您从中克隆了它),使其与您的本地存储库保持同步。但在任何时候,您也可以决定将某些东西推送到上游存储库,即原始存储库。
请记住,您可以在本地存储库中保留任意数量的远程存储库。您可以决定何时将某些内容推送到哪个存储库。