fatal: 遠程 origin 已經存在 | 關於git push 詳解


fatal: 遠程 origin 已經存在。

解決方法1:刪除origin主機名

git remote rm origin #刪除
git remote add origin https://github.com/xxxx #添加

解決方法2:保留origin遠程主機,再關聯另外一個主機

git remote add https://github.com/xxxx.git #關聯另一個遠程主機

本質:

git push的一般形式為 git push <遠程主機名> <本地分支名> <遠程分支名>,例如 git push origin master:refs/for/master ,即是將本地的master分支推送到遠程主機origin上的對應master分支, origin 是遠程主機名。第一個master是本地分支名,第二個master是遠程分支名。

git push -u <遠程主機名> <本地分支名>

第一次推送的時候加上-u操作,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。(即,后面推送就不用-u參數)

補充:

git push origin master
如果遠程分支被省略,如上則表示將本地分支推送到與之存在追蹤關系的遠程分支(通常兩者同名),如果該遠程分支不存在,則會被新建
git push origin :refs/for/master
如果省略本地分支名,則表示刪除指定的遠程分支,因為這等同於推送一個空的本地分支到遠程分支,等同於 git push origin –delete master
git push origin
如果當前分支與遠程分支存在追蹤關系,則本地分支和遠程分支都可以省略,將當前分支推送到origin主機的對應分支
git push
如果當前分支只有一個遠程分支,那么主機名都可以省略,形如 git push,可以使用git branch -r ,查看遠程的分支名
關於 refs/for:
refs/for 的意義在於我們提交代碼到服務器之后是需要經過code review 之后才能進行merge的,而refs/heads 不需要


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM