Administrator@USER-20140/D/website/flxx2/basic/vendor/g9901/yii2-gftp(master)$gitremote-vorigingit@github.com:G9901/yii2-gftp.git(fetch)origingit@github.com:G9901/yii2-gftp.git(push)upstreamhttps://github.com/hguenot/yii2-gftp.git(fetch)upstreamhttps://github.com/hguenot/yii2-gftp.git(push)G9901/yii2-gftp是我fork来自hguenot/yii2-gftp,我现在在本地修改了,然后gitpush,可hguenot/yii2-gftp并没有收到提交。而我发现在hguenot/yii2-gftp是可以直接在网页上进行pullrequest然后commit,为什么不能客户端提交?Administrator@USER-/D/website/flxx2/basic/vendor/g9901/yii2-gftp(master)$gitpushupstreamUsernamefor'https://github.com':G9901Passwordfor'https://G9901@github.com':remote:Permissiontohguenot/yii2-gftp.gitdeniedtoG9901.fatal:unabletoaccess'https://github.com/hguenot/yii2-gftp.git/':TherequestedURLreturnederror:403无法提交到upstream,那么原作者就无法知道有修改,无法操作合并,可问题是我在github.com的网页里面却可以提交commit,如何才可以在我客户端提交过去。稀里糊涂的现在在github.com网页上提交了,又变成这样了:https://github.com/hguenot/yii2-gftp/pull/5G9901wantstomerge4commitsintohguenot:masterfromG9901:master
2 回答
子衿沉夜
TA贡献1828条经验 获得超3个赞
使用gitpush默认将推送到origin对应的远程仓库,所以upstream是没有的获得commit的,如果要推送到upstream有两个要求,第一是你对hguenot/yii2-gftp.git有写的权限,也就是你加入了此项目。第二是显式的推送gitpushupstream,提示上说明你没有对hguenot/yii2-gftp.git写的权限。Pull/Request是一个fork项目提交了修改合并的机制,适用于fork项目对原有项目无权限的修改提交。
心有法竹
TA贡献1866条经验 获得超5个赞
你的fork和upstream是不同的repo,因此push到fork并不能让upstream知道;这是前提,也是git的基本概念之一,显然你对此很模糊先不谈命令行,你得先知道github是如何处理pullrequest的(当然,你得先知道什么是pullrequest,这些信息可以去看githubhelp)然后去看看git的文档里关于request-pull子命令的文档,这时候你开始建立起pushtoforkthenletupstreamknow的理论基础不幸的是,仅仅靠gitrequest-pull还不能直接完成github的pullrequest(不是不能,而是有点复杂);幸运的是:如果你用GUI,那么github有app可以帮你做这件事;如果你用CLI,那么1)mac下可以brewinstallhubthenhub/gitpull-request,2)linux下可以用sudoapt-getinstallgithub-cli,3)windows?不清楚,或许可以求助scoop对于一般用户来说,学会在web和app下操作github就够了,玩转cli需要一定的技巧和探索能力。
没有找到匹配的内容?试试慕课网站内搜索吧
添加回答
举报
0/150
提交
取消