git 如何向其他人的存储库贡献内容?

wgmfuz8q  于 2023-02-17  发布在  Git
关注(0)|答案(5)|浏览(105)

我有个朋友在他的GitHub账户里有一个仓库,我想直接贡献(拉/推)到那个仓库的master分支(唯一的分支)。
我该如何使用git直接在命令行上完成这项工作呢?

cvxl0en2

cvxl0en21#

由于您指定了要 * 直接 * 推送到您朋友的repo,因此您的朋友需要在repo设置中将您添加为协作者。
但是,考虑到您对git缺乏经验,最好采用间接方法:派生repo并使用pull请求将更改移动到主repo中。

kokeuurv

kokeuurv2#

正确的方法应该是fork他的仓库,做你的工作,然后创建一个pull request,然后他可以查看它并决定将它合并到他的工作中。https://guides.github.com/introduction/flow/index.html
编辑:添加了一个github链接。

7hiiyaii

7hiiyaii3#

我在总结大家的答案。

  1. Fork您朋友的存储库。
    1.启动终端并键入git clone {URL}
    1.使用此命令创建分支:git checkout -b new_branch .
    1.使用以下命令为上游存储库创建一个新的远程存储库,即原始存储库的链接:git remote add upstream {URL}
    1.在本地计算机中执行所需的任何更改。
    1.再次启动终端,如果要添加所有文件,请键入git add {file name}git add .
    1.然后键入消息git commit -m "message"
    1.创建分支:git remote add upstream {URL of friend's repository that you have forked}
    1.确认:git remote -v
    1.请给予用户名和密码:
brqmpdu1

brqmpdu14#

同意falk上面的回答。检查你是否是一个合作者,或者他能给予你一个访问权限吗?如果不能,按照下面的步骤
去你的朋友回购和叉他的回购!!
在你分叉的他的副本上

在你的机器上安装git,进入你终端的根目录,按照下面的步骤操作
执行:

git clone URL

现在在你克隆的存储库中做任何编辑。假设你修改了一个文件readMe. txt。因为你在你的存储库中修改了它!!

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拉力:

我假设你的朋友还没有把你添加到贡献者列表中。因为你已经对一些文件做了修改,现在你也想在你的朋友的repo中看到这些修改。所以把你的forked repo的pull请求发送到他的原始repo!!
顺便说一下,这是我开始使用Git时使用的awesome tutorial

9gm1akwq

9gm1akwq5#

以上回答缺少细节。
Github's docs直接回答此问题,并明确表示应将原始repo添加为 * 另一个 * 远程,以便可以推送PR,即

git remote add upstream <original_repo>

你自己在Github上的分支现在可以被推到“origin”(或者你给它贴的任何标签),但是原始的repo可以被推到“upstream”(或者任何标签来区分它和你的分支)。

相关问题