【问题标题】:connect my local git repository with github forked repository?将我的本地 git 存储库与 github 分叉存储库连接起来?
【发布时间】:2013-05-21 08:23:53
【问题描述】:

我使用git clone --bare $upstream 创建了我的私有和本地存储库 (详细在这里How to create a git repository on my server from the github server?

当时,我没想到我会为原始 github repo 做贡献。 ($上游)
我发现 pull requests 只能来自 github 存储库。

所以我的问题是如何为原始 github 存储库做出贡献?

我想知道以下策略是否可行:

  1. 我从 $upstream(原始开源 github 回购)
  2. 以某种方式向我的本地仓库介绍新的 github 分支(就像我所做的 git remote add
  3. 在我的本地克隆上创建一个分支 (MyWork),工作并推送到新的 github 分支
  4. 将请求拉到原始存储库作者。

编辑

由于我的私人仓库中有很多修改(提交),
我需要一种方法来进入当前 $upstream 的干净状态(没有我在本地修改的上游的 master我的 origin/master ,不在 MyWork 中)。

(这样我的拉取请求除了分支(用于拉取请求)之外没有我的修改)

我该怎么做?

【问题讨论】:

  • 您建议的步骤是正确的 - 步骤 2 将是 git remote add <somename> git@github.com:my/fork.git
  • user1615903,你能看看我的编辑吗?
  • 假设你有遥控器upstream(原始存储库)和mygithub(分叉),你可以像往常一样git fetch upstream获得它们的干净状态,然后在一个分支中重新定位你的工作@ 987654328@ 到它上面,即到upstream/master,最后是git push mygithub mywork。 – 您的本地更改是在名为master 的分支中还是在不同的分支中?
  • @chirlu:我的本地更改在master@origin(origin是我的本地服务器)
  • 它会影响这里的工作流程吗?如果我的工作流程不是最理想的,请赐教

标签: git github pull-request


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-01
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2020-09-23
    • 1970-01-01
    • 2014-05-29
    相关资源
    最近更新 更多