Administrator@USER-20140 /D/website/flxx2/basic/vendor/g9901/yii2-gftp (master)
$ git remote -v
origin git@github.com:G9901/yii2-gftp.git (fetch)
origin git@github.com:G9901/yii2-gftp.git (push)
upstream https://github.com/hguenot/yii2-gftp.git (fetch)
upstream https://github.com/hguenot/yii2-gftp.git (push)
G9901/yii2-gftp
是我 fork 来自 hguenot/yii2-gftp
,我现在在本地修改了,然后git push
,可 hguenot/yii2-gftp
并没有收到提交。而我发现在 hguenot/yii2-gftp
是可以直接在网页上进行 pull request
然后commit
,为什么不能客户端提交?
Administrator@USER- /D/website/flxx2/basic/vendor/g9901/yii2-gftp (master)
$ git push upstream
Username for 'https://github.com': G9901
Password for 'https://G9901@github.com':
remote: Permission to hguenot/yii2-gftp.git denied to G9901.
fatal: unable to access 'https://github.com/hguenot/yii2-gftp.git/': The request
ed URL returned error: 403
无法提交到 upstream ,那么原作者就无法知道有修改,无法操作合并,可问题是我在github.com的网页里面却可以提交 commit,如何才可以在我客户端提交过去。
现在在 github.com 网页上提交了,又变成这样了: https://github.com/hguenot/yii2-gftp/pull/5
G9901 wants to merge 4 commits into hguenot:master from G9901:master
L'utilisation de git push poussera vers l'entrepôt distant correspondant à l'origine par défaut, donc l'amont ne peut pas obtenir de validation. Si vous souhaitez pousser vers l'amont, il y a deux exigences. La première est que vous ayez écrit hguenot/yii2-gftp. git Permissions, c'est-à-dire que vous avez rejoint ce projet. La seconde consiste à pousser explicitement git push en amont. L'invite indique que vous n'avez pas la permission d'écrire sur hguenot/yii2-gftp.git. Pull/Request est un mécanisme permettant à un projet fork de soumettre des modifications et de fusionner, et convient au projet fork pour soumettre des modifications qui n'ont pas l'autorisation sur le projet d'origine.
Votre fork et votre amont sont des dépôts différents, donc pousser vers fork ne peut pas le faire savoir à l'amont ; c'est une prémisse et l'un des concepts de base de git, vous êtes évidemment très vague à ce sujet
Ne parlons pas d'abord de la ligne de commande. Vous devez d'abord savoir comment github gère les requêtes pull (bien sûr, vous devez d'abord savoir ce qu'est une requête pull. Pour cette information, vous pouvez accéder à l'aide de github)
Jetez ensuite un œil à la documentation sur la sous-commande request-pull dans la documentation git. À ce stade, vous commencez à établir la base théorique du push to fork, puis informez-en l'amont
Malheureusement, la pull request de github ne peut pas être complétée directement en s'appuyant simplement sur
git request-pull
(ce n'est pas impossible, mais c'est un peu compliqué : si vous utilisez une interface graphique, alors github a une application qui peut vous aider) ; faites-le. C'est important ; si vous utilisez CLI, alors 1) vous pouvez utiliserbrew install hub
puishub/git pull-request
sous Mac, 2) vous pouvez utilisersudo apt-get install github-cli
sous Linux, 3) Windows ? Je ne suis pas sûr, vous pouvez peut-être demander de l'aidePour les utilisateurs ordinaires, il suffit d'apprendre à utiliser github sur le Web et l'application. Jouer avec cli nécessite certaines compétences et capacités d'exploration.