我创建了我的私人&使用git clone --bare $upstream
的本地存储库
(详见How to create a git repository on my server from the github server?)
当时,我认为我不会为原来的github回购做贡献。 (上游$)
我发现拉取请求只能从github存储库中获取。
所以我的问题是我如何为原始github回购做出贡献?
我想知道是否可以遵循以下策略:
- 我从$ upstream(原始的opensource github)创建了一个github fork 回购)
- 以某种方式教我的本地仓库关于新github分叉(就像我做
git remote add
)- 在我的本地克隆上创建一个分支(MyWork),工作,并推送到新的github fork
- 将请求拉到原始repo auther。
醇>
修改
由于私人仓库中有很多修改(提交),因此 我需要一种方法来进入当前$ upstream的干净状态(上游的主人没有我在本地修改的主人/主人,而不是MyWork)。
(因此我的拉取请求除了分支(拉取请求)之外没有我的修改)
我该怎么做?
答案 0 :(得分:1)
花了我很长时间来搞清楚..
git中有一个cherry-pick
命令,非常适合我的情况。
Send a pull request on GitHub for only latest commit
基本上,
git checkout -b MyWork_for_pull_request upstream/master (make branch off upstream/master not origin/master)
git cherry-pick `sha-of-MyWork-branch's-commit` (pick out commits I want to contribute)
git push mygithub_fork MyWork_for_pull_request
并在github页面中按pull request
。