Github - 使用某人elses存储库

时间:2013-08-26 10:36:42

标签: git github

我正在忙于一个使用

中的一些库的项目
git clone http://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git

我已经下载了上面的代码并将其放入我的代码中,现在想在github上发布我的代码。

我还想确保始终使用来自adafruit的最新代码,这样我就可以在我的代码中添加链接到adafruit,以便它始终提取最新版本。

我已经对git做了一些阅读,我认为这可能被称为分叉?在放入我的代码时,我将adafruit代码放在我的存储库中,还是有人可以将链接放入原始代码中?

3 个答案:

答案 0 :(得分:1)

除非您已经是该项目的贡献者,否则您将无法直接推送到他们的存储库。

在这种情况下,通用用例是分叉项目(即在您的名下创建一个副本)并对其进行处理。然后,您可以创建pull-request,要求他们从存储库中提取特定更改。

This GitHub Article解释了这个过程,并告诉你如何保持你的叉子是最新的(如果你没有做任何特别的事情,它基本上只是一个快照)。

答案 1 :(得分:1)

由于您已经在本地克隆了存储库并进行了修改,因此您应该采取一些步骤来创建一个fork(用于跟踪原始数据库)并设置相应的远程数据库以进行同步。


1)转到http://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code并单击“Fork”按钮

2)复制 new Fork

的Git存储库URL

3)在终端的项目目录中,添加一个遥控器:

git remote add fork <repo-fork-url>

4)确保您的前叉相对于原始项目是最新的

git checkout master

git pull -rebase origin master

5)删除现有的上游主人;上游设置将您的提交发布到您的Fork

git branch --unset-upstream master

git push -u fork master


从此处开始,您可以编辑并提交到本地存储库git pushgit pull以与GitHub上的Fork同步,并git pull origin master从原始存储库中检索最新的提交库中。

答案 2 :(得分:0)

是的,通过分叉你可以使用pull请求将他们的代码发送给他们,如果他们想要他们在项目中合并。 要从其存储库中提取最新更改,请参阅:

git fetch upstream
git merge upstream/master

如果没有冲突,它会自动合并,但有时会有,但是你必须手动完成。