git工作流-使用一个回购协议作为另一个回购协议的基础

git工作流-使用一个回购协议作为另一个回购协议的基础,git,github,Git,Github,我已经把“的”放在一边,这样我就可以有自己的版本,更好地满足我的需要。如果我用这个样板文件开始每一个新的web项目,那么将代码转换成新的repo的最佳方法是什么?就我所知,我有两个选择: 克隆回购协议。我不只是想克隆它,因为我并不是真的在对样板文件进行修改——我只是把它作为一个新网站的启动点。此外,如果我从github克隆,那么样板文件repo将被设置为新站点的远程 将代码复制粘贴到一个新目录中,并在那里启动一个新的git repo。这感觉有点不对劲 是否有更好的方法来处理此问题?首先,克隆

我已经把“的”放在一边,这样我就可以有自己的版本,更好地满足我的需要。如果我用这个样板文件开始每一个新的web项目,那么将代码转换成新的repo的最佳方法是什么?就我所知,我有两个选择:

  • 克隆回购协议。我不只是想克隆它,因为我并不是真的在对样板文件进行修改——我只是把它作为一个新网站的启动点。此外,如果我从github克隆,那么样板文件repo将被设置为新站点的远程

  • 将代码复制粘贴到一个新目录中,并在那里启动一个新的git repo。这感觉有点不对劲


是否有更好的方法来处理此问题?

首先,克隆骨架存储库:

git clone ssh://git@github.com/user/proj.git new_proj
然后,将cd发送到repo,并清除原始远程:

cd new_repo
git remote rm origin
最后,为项目创建一个新的远程服务器(您可能希望首先在github中创建一个新项目):


现在,当您执行git push origin master时,它应该会更新新项目。您仍将拥有原始项目的历史记录。事实上,您可以将初始原点重命名为
projbase
或类似的名称,您甚至可以对骨架进行更改(尽管这可能会使合并方面的事情变得有点混乱,并且一旦推到github,就不赞成使用重基)。

好的,这很有意义,谢谢。不过,我想我会避免尝试对骨架进行新的更改!我的小调整:使用
clone-o样板文件
将初始远程文件命名为“样板文件”,而不是“源文件”,这样您就不必删除它。@Jefromi如果您既不希望再次从样板文件远程文件中拉出,也不希望推送到样板文件远程文件,那么保留该远程文件有什么好处?(我意识到答案确实讨论了重新拉扯,但根据评论,OP没有这样做。)那是近5年前的事了,但如果我理解正确的话,我是在回答答案,而不是OP的评论;取决于您如何使用它,您可能很想重新拉动(或者至少与远程设备不同)。
git remote add origin ssh://git@github.com/user/new_proj.git