我创建了一个Laravel“样板”项目,其中包含我常用的功能/库。从现有的“样板”回购项目创建新项目
使用这个样板作为新项目的基础的正确git过程是什么?我可以想到两个选择:
- 叉
boilerplate
到newproject
并开始。我没有任何意图将newproject
更改回boilerplate
。 - 克隆
boilerplate
并将远程原点更新为新的清理回购。
我倾向于第二种选择,因为它感觉就像是一个很好的清晰的代码样板。我会因为这样做而失去任何很酷的git可能性吗?
我创建了一个Laravel“样板”项目,其中包含我常用的功能/库。从现有的“样板”回购项目创建新项目
使用这个样板作为新项目的基础的正确git过程是什么?我可以想到两个选择:
boilerplate
到newproject
并开始。我没有任何意图将newproject
更改回boilerplate
。boilerplate
并将远程原点更新为新的清理回购。我倾向于第二种选择,因为它感觉就像是一个很好的清晰的代码样板。我会因为这样做而失去任何很酷的git可能性吗?
考虑,你会从模板一个被存储在Github上项目列入boilerplate
GitHub的项目,我想:
boilerplate
没有链接,没有need for a fork )boilerplate
在磁盘上的一个单独的位置git add
,git commit
)将该特定模板推回到您的新Github回购。“叉”不是Git的概念。 Git与Github混淆了吗?如果你的意思是在Github上分发项目,那么就像克隆repo一样,克隆听起来就像你正在寻找的东西。你永远不会把变化推回到“样板”回购。但是,您可以使用合并或重新绑定来将更新置入样板回购项目中,然后将其分离出来。如果没有这样的东西是可取的,那为什么要用Git呢?只需制作一个目录的递归副本,并从那里开始。
这需要您手动设置上游 - 以免您将更改推送到您的样板库! https://help.github.com/articles/changing-a-remote-s-url/ – 2016-12-29 08:02:53
没有错@ VonC的答复工作,但您也可以使用hub创建a one-liner,有效地inits一个新的回购协议(本地和远程)的基础上你的种子回购:
clonefork() {
hub clone "$1"
cd "${1##*/}"
hub fork
}
在你的shell:
$ clonefork user/seed-repo
通过 “cloneforking” 你的种子回购,你也可以得到a network graph显示所有回购产生的回报。
另一个选择是克隆'boilerplate',删除'.git',然后'git init','git add .' ,'git commit' – aragaer 2013-02-15 08:43:16
@aragaer不要忘记''样板'可能包含许多模板供您选择(这可能不是这种情况),再加上您需要重置远程'origin'url。我会认为我的方式更容易。 – VonC 2013-02-15 08:44:47
删除'.git'会重置所有的git。但我同意有几个模板。 – aragaer 2013-02-15 09:19:37