如何创建一个新的存储库,它是另一个存储库的克隆?

时间:2011-05-17 17:46:20

标签: git github

我在github上有一个项目“MyfirstProject”。现在我通过克隆“MyfirstProject”来创建另一个项目“SecondProject”,因为核心代码将是相同的。

每当我更新“MYfirstProject”时,我都会提示更新。

现在我想在github中为这个“SecondProject”创建一个存储库,因为我必须在不同的计算机上工作,它将有来自“MYfirstProject”的不同代码。

我不认为分支是正确的事情,因为我永远不会合并它们。

我该怎么办?

我是否需要推送到新的存储库?它不会影响“MyfirstProject”的拉动吗?

你做什么?

提前致谢。

2 个答案:

答案 0 :(得分:18)

可能有几种方法可以做到这一点,包括更聪明的方法,但这就是我要这样做的方法:

  1. 在Github上创建一个名为SecondProject的新回购。
  2. 从磁盘或Github本地克隆您的MyfirstProject。 然后在需要移动到第二个仓库的分支上使用git pull。
  3. git remote set-url origin git@github.com:yourname/SecondProject.git
  4. 推它。
  5. 请注意,克隆会保留与MyfirstProject的共享历史记录,如果您改变主意关于“永不合并”的位,这将非常有用。

答案 1 :(得分:0)

  

现在我正在制作另一个项目   克隆的“第二项目”   “MyfirstProject”因为核心代码会   是一样的。

这取决于“核心代码”的含义。如果它是一个公共数据结构,实用程序等的库,它们都应该包含在一个单独的git存储库中,并且不应该在该存储库中包含依赖于库的特定于应用程序的代码。特定于应用程序的代码应位于单独的新存储库中(不从库存储库克隆)。将您的应用程序特定代码链接到库代码,就像您通常链接到任何第三方库一样。

如果你的意思是你有一些应用程序,但你需要不同的配置,这取决于你工作/编译的机器,应该在同一个存储库中作为分支进行跟踪,而不是作为git存储库的单独克隆。有一个“主”分支,其中包含代码的默认配置(例如,您最常使用的机器或生产机器)。特定于您的其他计算机的配置会得到一个单独的分支,例如笔记本电脑的“笔记本电脑”分支,工作站桌面的“工作”,Amazon EC2实例的“云”等。