Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将我的本地git存储库连接到github分叉存储库?_Git_Github_Pull Request - Fatal编程技术网

将我的本地git存储库连接到github分叉存储库?

将我的本地git存储库连接到github分叉存储库?,git,github,pull-request,Git,Github,Pull Request,我使用git clone--bare$upstream创建了我的私有和本地存储库 (此处详述) 当时,我并不认为我会为最初的github回购做出贡献。($上游) 我发现,拉取请求只能从github存储库中进行 因此,我的问题是我如何才能为最初的github回购做出贡献? 我想知道以下策略是否可行: 我从$upstream(最初的开源github)创建了一个github分支 回购协议) 以某种方式教我的本地repo关于新的github fork(就像我做的那样git remote add) 在本地

我使用git clone--bare$upstream创建了我的私有和本地存储库 (此处详述)

当时,我并不认为我会为最初的github回购做出贡献。($上游)
我发现,拉取请求只能从github存储库中进行

因此,我的问题是我如何才能为最初的github回购做出贡献?

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

  • 我从$upstream(最初的开源github)创建了一个github分支 回购协议)
  • 以某种方式教我的本地repo关于新的github fork(就像我做的那样
    git remote add
  • 在本地克隆上创建一个分支(MyWork),并推送到新的github分支
  • 将请求拉至原始repo作者
  • 编辑

    由于我的私人回购中有许多修改(提交),
    我需要一种方法进入当前$upstream的干净状态(upstream的master,无需我在我的origin/master中进行的本地修改,而不是在我的工作中进行修改)

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


    我该怎么做

    我花了很长时间才弄明白。
    git中有一个
    cherry pick
    命令,非常适合我的情况

    基本上

    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

    您建议的步骤是正确的-步骤2将是
    git remote addgit@github.com:my/fork.git
    user1615903,你能看看我的编辑吗?假设你有远程
    上游
    (原始存储库)和
    mygithub
    (fork),您可以像往常一样
    git获取上游
    以获得其干净状态,然后将分支
    mywork
    中的工作重新设置到分支上,即
    upstream/master
    ,最后
    git推送mygithub mywork
    –您的本地更改是在名为
    master
    的分支中还是在其他分支中?@chirlu:我的本地更改在master@origin(来源是我的本地服务器)它是否影响此处的工作流?如果我的工作流程是次优的,请告诉我