【问题标题】:pull changes from fork to original repository in Git将更改从 fork 拉到 Git 中的原始存储库
【发布时间】:2013-10-28 08:43:38
【问题描述】:
我正在努力学习 Git。我遇到了这样的问题...
我在 GitHub 中创建了一个存储库“资源计划”。我的同事对它进行了分叉并为其添加了新功能。现在,他无法将这些更改推送到原始存储库“资源计划”。有什么方法可以将这些新功能提取到原始存储库中?
任何帮助将不胜感激!
谢谢。
【问题讨论】:
标签:
git
github
git-pull
git-fork
【解决方案1】:
假设您可以读取/访问其他人的存储库 - 是的,您可以。有几种方法可以做到这一点,例如:
添加一个遥控器,并从中提取/提取
为其他用户添加远程,合并更改,然后推送到您自己的存储库:
cd /my/repo
git checkout master
git remote add otheruser https://github.com/otheruser/repo.git
git fetch otheruser
git merge otheruser/branch
视为“手动”拉取请求
Github 有 a help page 演示如何做到这一点:
cd /my/repo
git checkout master
git pull https://github.com/otheruser/repo.git branchname
git push origin master
以上两者都做同样的事情 - 从一个不同的 存储库检索分支历史并将新提交添加到您自己的本地存储库(从那里 - 只需 git push 即可更新您自己的远程存储库)。
【解决方案2】:
【讨论】:
-
he is not available to push those changes - 问题不是“我怎样才能让 做某事”,而是“我怎样才能自己做某事”
【解决方案3】:
除非您的同事对您的 git 存储库具有管理员权限,否则他们将无法直接推送到它。
典型的 github 贡献周期是分叉存储库,为您的更改创建一个分支,将更改提交到分叉的存储库,然后创建拉取请求以让上游接受更改。
如果您将您的同事作为管理员添加到存储库,则没有必要分叉,因为他们可以创建自己的分支并使用它。