我应该在GitHub上运行我的客户端项目,其中的更改将在他的存储库中。我试图按照fork示例,但只能将更改转到我的帐户存储库?
在GitHub的示例中,为了分叉一个仓库,他们创建一个名为upstream
的远程指向原始项目。
get fetch upstream
git merge upstream/master
我能够通过
将更改上传到我的回购中git push –u origin
将我的更改复制到我的帐户。
我试过
git push –u upstream
在原始帐户上推送我的更改。我收到以下错误
你不能推送到git://github.com.octocat/SpoonKnife.git 使用git@github.comoctocat/Spoon0-Knife.git
答案 0 :(得分:3)
基本上,为了与您的客户合作,您有两个主要选择:
pull request
(有关详情,请参阅 GitHub help item )。这允许您的客户在合并之前审核,讨论和/或请求对您的提案进行一些更改。committer
添加到他们的项目中。这将允许您直接将提交推送到其存储库,而无需您的fork /克隆存储库。作为旁注,Spoon-Knife.git是GitHub的只读存储库之一(用于演示目的),您将无法承诺(除非您的客户 GitHub )。因此,您的客户端的upstream
git remote应指向不同的存储库
以下是步骤(将存储库分叉并克隆到本地磁盘后要遵循的步骤):
git remote rm upstream
git remote add upstream git@xxxxxx
git push -u upstream master
。 git push -u
将设置远程存储库的HEAD。git pull upstream master
如果您更喜欢名称origin替换上游的origin,但仍然按照步骤1删除对Spoon-Knife.git的引用。然后在第2步 - git remote add origin git@xxxx
。
答案 1 :(得分:0)
git://github.com.octocat/SpoonKnife.git是一个只读URL。正如GitHub建议的那样,相应的可写URL是git@github.comoctocat/Spoon0-Knife.git。 如果您希望能够推送上游存储库,则必须要求(向上游团队,即您的客户)添加为提交者。