使用GitHub管理项目并从git样板文件中提取请求

使用GitHub管理项目并从git样板文件中提取请求,git,github,Git,Github,我正在做一些类似于我有一个样板Github存储库的事情,我将使用它来启动新项目。不同之处在于,我有时会想将某个克隆项目中的特性添加回样板文件,并将样板文件中的更改推送到项目中 因为它们都是我自己的存储库,所以我要克隆repo而不是forking,并向样板远程添加一个上游,以便从那里获取更改 $ git clone git@github.com:YOURNAME/foo.git bar $ cd bar $ vim .git/config [remote "origin"] fetch =

我正在做一些类似于我有一个样板Github存储库的事情,我将使用它来启动新项目。不同之处在于,我有时会想将某个克隆项目中的特性添加回样板文件,并将样板文件中的更改推送到项目中

因为它们都是我自己的存储库,所以我要克隆repo而不是forking,并向样板远程添加一个上游,以便从那里获取更改

$ git clone git@github.com:YOURNAME/foo.git bar
$ cd bar
$ vim .git/config
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com:YOURNAME/bar.git #replace foo with bar
$ git remote add upstream git@github.com:YOURNAME/foo.git
$ git push -u origin master
因为这些项目需要自己的生命,我只想在样板中添加新特性时,将样板的一部分拉到项目中。这是我应该使用
git cherry pick
as的地方吗


往回走。我猜我应该在项目中创建一个功能分支。一旦我对它感到满意,在我将它重新合并之前,我应该
git cherry pick
从项目分支回到样板文件中?或者我应该从项目到样板文件执行拉式请求吗?

如果您只想将提交应用于不相关的分支(意味着从未合并在一起的分支),那么樱桃选择(包括for)是跨回购复制上述提交的正确方法

这就是cherry pick

只有当这些提交不依赖于以前的提交内容时,它才起作用,即如果它们没有基于以前的提交内容(从中挑选分支)。

如果您只想将提交应用于不相关的分支(意味着从未合并在一起的分支),那么就挑选(包括for)是在回购协议中复制上述承诺的正确方式

这就是cherry pick
只有当这些提交不依赖于以前的提交内容时,它才起作用,也就是说,如果它们没有基于以前的提交(tou从中挑选的分支)