問題描述:
1,mac ox系統,terminal上運行命令git push出現403錯誤;
2,代碼是在別人的github(暫且叫origin branch吧)上克隆的,修改和添加了部分代碼后欲提交到該“origin branch”,報403錯誤;
發現問題:
1,403error是應為“origin branch”不允許我提交,查了一些網站,有些說是SSH鏈接導致無法訪問對端網站,設置網絡http為ssh即可:http://stackoverflow.com/questions/7438313/pushing-to-git-returning-error-code-403-fatal-http-request-failed
2,折騰了半天沒弄好重新回來研究git 提交代碼的流程,才發現問題;
3,“origin branch”是別人的github,我如果想提交我的代碼,不能直接從我本地git提交到遠端的“origin branch”。我只能先將我本地git提交到我自己的github,比如“mygithub branch”,然后再從“mygithub branch”提交到“origin branch”。
4,github的代碼提交貌似只支持github到github的遠端到遠端的提交,本地到本地,或本地git到其他帳戶的遠端github交叉提交是不允許的。
解決問題:
1,首先要fork “origin branch”的 project 代碼到你自己的 github;
2,然后修改你本地 的配置文件git.config ,修改 url 為你自己的用戶名地址(將原來“origin branch” 的地址改為“mygithub branch”的地址,目的是讓你本地git提交地址修改為你自己的github地址“mygithub branch”);
3,git push,提交你的本地代碼到你的github,比如“mygithub branch”;
4,登錄你的github,從web端創建一個pull request到“origin branch”,這樣就可以把github的代碼pull到“origin branch”代碼庫;
5,“origin branch”的管理員看到pull請求時,選擇merge the change into the project,合並你提交修改的代碼到project代碼庫;
6,完成代碼提交。現在你就可以從“origin branch”端看到你提交的代碼了,同時你也收到一封簡短的郵件:
Merged #1.
Reply to this email directly or view it on GitHub.
