【问题标题】:Managing projects and pull requests from git boilerplate with GitHub使用 GitHub 从 git 样板文件管理项目和拉取请求
【发布时间】:2018-02-03 01:14:47
【问题描述】:

我正在做类似于 this question 的事情,我有一个 Boilerplate Github 存储库,我将使用它来启动新项目。不同之处在于,我有时希望将克隆项目之一中的功能添加回样板,并将样板中的更改推送到项目中。

由于它们都是我自己的存储库,I'm using this technique 克隆存储库而不是分叉并将上游添加到样板远程,以便我可以从那里提取更改。

$ 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 作为described here 的地方吗?

反过来说。我猜我应该在项目中创建一个功能分支。一旦我对它感到满意,并且在我重新合并它之前,我应该将项目分支中的git cherry-pick 重新放入样板文件中吗?还是我应该从项目向样板提出拉取请求?

【问题讨论】:

    标签: git github


    【解决方案1】:

    如果您只想将提交应用到不相关的分支(意味着永远不会合并在一起的分支),那么樱桃采摘(包括 multiple commits in one command)是跨存储库复制所述提交的正确方法。

    这就是精选 duplicates a commit
    只有当这些提交不依赖于先前的提交内容时,它才有效,即如果它们没有基于先前提交的functional dependencies(分支 tou 是从中挑选出来的)。

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 2015-02-18
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多