在Git中将更改从fork更改为原始存储库

时间:2013-10-28 08:43:39

标签: git github git-pull git-fork

我正在努力学习Git。我遇到了这样的问题...... 我在GitHub中创建了一个存储库'resorceplan'。我的同事分叉并添加了新功能。现在,他无法将这些更改推送到原始存储库'resourceplan'。有什么方法可以将这些新功能引入原始存储库吗?

任何帮助将不胜感激!

感谢。

3 个答案:

答案 0 :(得分:3)

假设您可以阅读/访问其他人的存储库 - 是的,您可以。有几种方法可以做到这一点,例如:

添加一个遥控器,然后从中取/取

为其他用户添加远程,合并更改,然后推送到您自己的存储库:

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来更新您自己的远程存储库)。

答案 1 :(得分:0)

您应该将您的同事添加为合作者,并拥有推送回购广告的适当权利。

enter image description here

您可以在此处找到相关文档:https://help.github.com/articles/what-are-the-different-access-permissions

答案 2 :(得分:0)

除非你的同事拥有你的git存储库的管理员权限,否则他们将无法直接推送到它。

典型的github贡献周期是分叉存储库,为您的更改创建一个分支,将更改提交到分叉存储库,然后创建一个拉取请求以使更改在上游被接受。

如果您将您的同事作为管理员添加到存储库,则分支是不必要的,因为他们可以创建自己的分支并解决它。