如何共享基于相同存储库的git分支?

时间:2013-07-19 12:54:45

标签: php git version-control collaboration

我是一名新手程序员,对GitHub来说是全新的。我正与一位同事就他多年来一直致力于的项目进行合作。

到目前为止:

他创建了一个存储库并加载了所有初始文件。我将它分成了我的帐户,以便我可以单独处理它。

现在:

如何提交我的存储库并与他共享,以便他可以检查更改并将其合并到他的存储库中,如果他喜欢这些更改?

我知道有很多关于GitHub的信息,但我甚至不知道从哪里开始。非常感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

您的案例中推荐的方法是与您的朋友合作。

以下是:

Add a collaborator

Read this:将为您提供git的基础知识以及如何与他人协作。

答案 1 :(得分:1)

有很多方法可以做到这一点,github推荐拉取请求,除非你没有对存储库的推送访问权限,否则你需要这样做或发送补丁。有一个这样的工作流here

的例子
git clone git@github.com:<their repo> [optional folder name]
cd reponame (or optional folder name)

如果存储库有子模块,那么

git submodule update --init (if the repo has submodules)
git submodule foreach 'git checkout <their working branch>'

分叉代码。分叉您计划处理的特定存储库。这将为您提供自己的项目副本。在您计划处理的存储库中设置git。

cd <repo dir or optional one chosen)
git remote set-url origin git@github.com:<your github name>/<your repo>.git
git remote add --track next upstream git://github.com/<their github name>/<their repo>.git

这是您的存储库设置以帮助代码。你可以做git pull,git push等(这将是你的分叉)。要从合作伙伴仓库的分支中提取更改,请执行以下操作:

git pull upstream branch

你将无法通过git推送到他们的仓库,因为你需要做一个拉动请求。

当你开心的话,然后去github(你的项目)并选择差异和拉取请求。这允许您输入消息,并且lib维护者将收到消息以处理请求。它还将显示您的pull请求是否会干净地合并,如果维护者必须修复代码,则不太可能接受。