Git工作流从基础存储库启动新项目

时间:2015-10-22 03:42:38

标签: git

我不确定我正在寻找的是fork。基本上我有一个存储库,我想用作所有项目的基础,一种骨架项目,一些已经完成设置的框架。

我认为无论是克隆还是分叉都可以完成这项工作,但新项目永远不会被合并到基地。这是通过其中一个完成的,还是使用了不同的工作流程?

2 个答案:

答案 0 :(得分:3)

实现目标的最简单方法是:

  • git clone您计算机的基础存储库。
  • 删除计算机上基本仓库的新克隆副本中的.git目录。
  • git init克隆副本中的新存储库。
  • git remote add origin <remote>在克隆副本中,其中<remote>是Github / BitBucket / others上的repo的URL。

这种方式很简单。

首先,我想解释clonefork非常相似,clone将远程存储库复制到本地计算机,而fork是内部Github /将存储库复制到给定服务上的帐户的其他工具。更高一级,fork更多的是一个抽象动作,许多源控制工具都支持它,即使它很少作为命令本身存在。使用git,您可以通过克隆来分叉项目。所以实际上,git clone确实是你问题的唯一答案。

当您clone存储库时,您复制该存储库中的所有文件 .git目录,其中包含git工作所需的所有文件。这包括所有项目历史,所有分支头,远程URL等等。

删除.git目录并在项目目录中运行git init时,将所有上述信息重置为干净状态,并创建一个新的.git目录。就git而言,这是一个全新的项目。您可以开始向索引添加文件,进行提交和分支并像往常一样工作。因为删除了旧的git信息,git不再将该项目视为基础项目的一部分。您在此处提交的任何提交现在都作为新存储库存在。

在大多数情况下,您还希望添加有关remote存储库的信息,以便您可以将代码推送到其他人并与其他人共享。这可以是像Github这样的托管服务,也可以自己托管。这与我在上一段中写的内容一起意味着当您push时,这些新提交将被上传到新的存储库而不是基础存储库。

希望这有帮助!

答案 1 :(得分:1)

首先,就Git而言,clone和fork是同义词。

在你的情况下,一个简单的克隆可以工作,虽然你的新repo将绑定到骨架repo。您是否希望基于它的项目中的骨架提交历史记录?或者您是否希望新项目获得最新版本的全新开始?

如果你想保存历史记录(好像你开发了骨架然后继续)但是断开与骨架存储库的关系,那么只需克隆项目,然后“远程删除原点”即可。会那样做。

如果你想删除骨架历史记录并从初始文件集开始,那么删除整个.git目录,然后“git init&#39;重新开始。