我的朋友在他的GitHub帐户中有一个存储库。我想直接向该分支上的主分支(唯一的分支)贡献(拉/推)。
我如何使用git直接在命令行上执行此操作?
答案 0 :(得分:7)
由于您指定要将直接推送到朋友的回购,因此您的朋友需要在回购设置中将您添加为协作者。
但是,鉴于您对git
缺乏经验,最好采用间接方法:fork repo并使用pull请求将更改移动到主repo中。
答案 1 :(得分:1)
正确的方法是 fork 他的存储库,完成您的工作,然后创建拉取请求。然后他可以复习并决定将其合并到他的作品中。这是一个很好的描述:https://guides.github.com/introduction/flow/index.html
编辑:添加了一个指向github的链接。
答案 2 :(得分:1)
使用falk上面的答案的Agreeds。检查您是否是合作者,或 他可以给你一个访问权限吗?如果不遵循以下步骤
去你的朋友回购并分发他的回购!!
在你的副本的分叉回购中,URL
在您的计算机上安装git。转到终端上的根目录,然后按照以下步骤进行操作
执行:
git clone URL
现在对您克隆的回购邮件进行任何编辑。假设您修改了一个文件readMe.txt。因为你在repo !!上修改了它!
git add readMe.txt
现在你应该提交更改
git commit -m "Dude, I have modified readMe.txt"
现在推送:
您需要添加远程github存储库以将更改推送到分叉存储库
git remote add origin https://github.com/username/myproject.git
确认见:
git remote -v
现在确认之后,你可以推送代码:
git push
Git pull:
我假设你的朋友没有将你添加到列表中 贡献者。由于您已对某些文件进行了更改,现在您希望在您的朋友回购中看到这些更改。因此,请向您发送分叉回购的拉取请求 到他原来的回购!!
顺便说一下,这是我开始使用Git时使用的awesome tutorial。
答案 3 :(得分:0)
以上答案缺少详细信息。
Github's docs直接回答此问题,并明确指出原始回购应作为另一个远程添加,以便可以推送PR,即
git remote add upstream <original_repo>
您现在可以将自己在Github上的fork推送为“原始”(或您标记的任何东西),但可以将原始回购邮件推送为“上游”(或任何与您的fork区别的标签)。 / p>
答案 4 :(得分:0)
我正在总结每个人的答案。
Fork
您朋友的存储库。git clone {URL}
。git checkout -b new_branch
。git remote add upstream {URL}
git add {file name}
或git add .
(如果要添加所有文件)。git commit -m "message"
git remote add upstream {URL of friend's repository that you have forked}
git remote -v
git push
在这里,您必须提供用户名和密码。