在不使用拉取请求的情况下推送到另一个用户的远程存储库

Pushing to another user's remote repository without the use of pull requests

我正在尝试创建一个 github 存储库,一组 4 个用户可以同时在该存储库上工作,而不必为每次推送都发出拉取请求或每次创建一个分支做出改变。

但是,当不是创建者(我)的任何人添加远程 URL 并尝试推送到 master 分支时,它拒绝访问用户,即使用户被添加到 github 页面作为贡献者。

为了解决这个问题,我告诉其中一位用户分叉回购并将我添加为贡献者,以便我可以尝试推动新的更改,但我遇到了同样的问题。

我在 Git Bash 中做了以下操作:

$ git clone https://github.com/Diseasedfire/AlaBonteKoe.git
Cloning into 'AlaBonteKoe'...
remote: Counting objects: 3027, done.
remote: Compressing objects: 100% (66/66), done.
remote: Total 3027 (delta 27), reused 0 (delta 0), pack-reused 2955
Receiving objects: 100% (3027/3027), 37.23 MiB | 588.00 KiB/s, done.
Resolving deltas: 100% (494/494), done.
Checking connectivity... done.

$ vim README.MD

(I make edits to the readme)

$ git commit -a -m "test remote commit"
[master 318b667] test remote commit
 1 file changed, 1 insertion(+)

$ git remote add origin https://github.com/nebbii/AlaBonteKoe.git
fatal: remote origin already exists.

$ git remote -v
origin  https://github.com/Diseasedfire/AlaBonteKoe.git (fetch)
origin  https://github.com/Diseasedfire/AlaBonteKoe.git (push)

$ git push origin master
remote: Permission to Diseasedfire/AlaBonteKoe.git denied to nebbii.
fatal: unable to access 'https://github.com/Diseasedfire/AlaBonteKoe.git/':
The requested URL returned error: 403

是否可以作为列出的贡献者将更改推送到 repo 而无需创建拉取请求?

绝对有可能!

我建议使用 SSH 协议克隆存储库。这样您就可以使用 ssh 密钥进行身份验证而不是 http 基本身份验证。

$ git clone git@github.com:Diseasedfire/AlaBonteKoe.git

另见 Github 上的 documentation

$ git remote add origin github.com/nebbii/AlaBonteKoe.git
fatal: remote origin already exists.

$ git remote -v
origin  github.com/Diseasedfire/AlaBonteKoe.git (fetch)
origin  github.com/Diseasedfire/AlaBonteKoe.git (push)

当您查看 git remote -v 的输出时,您可以看到已经有一个名为 origin 的远程。因此,如果您想添加新的遥控器 URL,您需要将遥控器命名为不同的名称。

git remote add FOO github.com/nebbii/AlaBonteKoe.git

然后你可以推送到另一个仓库。 (git push FOO master) 将分支主机推送到 FOO

但要回答你的主要问题。 只需创建一个 github 存储库,将其他人添加为贡献者,然后让他们克隆您的存储库。然后你们中的任何一个人 4 都可以创建自己的分支并在该分支上工作。稍后,如果您需要其他人的 code/stuff,只需将其合并到 master 或您需要代码的分支中即可。

进一步阅读;如果分支没有共享或者只是看这里,你也可以使用 rebase: https://github.com/nvie/gitflow