如何正确地 fork 本地 git 存储库?

问题描述 投票:0回答:2

我有一个本地 git 仓库。我想分叉它并将其用作新项目的基础。新项目永远不能将任何东西推回原始项目。这是我认为我应该做的...

git clone originalproject newproject
git remote remove origin

还有什么我应该做的来打破两个回购协议之间的联系并创建一个独立的本地分支吗?

edit:这将在本地正常工作,但如果您更愿意链接到一个新的远程仓库,请参阅下面的 codeWarrior 的答案。

git git-fork
2个回答
9
投票

是的,它会起作用,但不是删除原点,而是将其更新为新链接

# Clone the existing project to a new location
git clone originalproject newproject

# Update the remote to the new git repository URL
git remote set-url <remote> <url>

注意

如果您的原始存储库中有 git 钩子,它们将不会被复制到新的,因此您也需要复制它们。


0
投票

我想听到更多关于这个话题的信息——它涉及到 Git 最令人困惑的方面之一。

所以,codewiz 暗示答案是,“你不能在本地分叉一个 repo。”那是对的吗?如果是这样,为什么??

当然,如果我想要一个与原始项目完全隔离的项目,那么我可以直接克隆原始项目并为其命名。但是,这不是“fork”的真正目的,对吧?一个分叉应该是可追溯的(并且最终是可合并的?)回到原来的——你说这不能在本地完成。 ??在 vscode 中没有在本地分叉 repo 的选项,所以 . . . .这似乎是答案(没有解释。)

© www.soinside.com 2019 - 2024. All rights reserved.