GIT命令關聯本地到遠程倉庫詳記

最近我在本地用腳手架新建了個項目 vue-cli3.0-typescript,開發完成後要傳到 github上新建的空項目 vue-cli3.0-typescript上,雖然之前也這樣幹過,可是時隔過久早已忘卻具體操做,再次操做依舊各類報錯,索性好好整理一下:

根據遠程倉庫是否存在要關聯的 master 分支分爲兩種狀況:vue

clipboard.png

狀況1:遠程倉庫已經有 master 分支(若在 github 倉庫新建倉庫勾選了【Initialize this repository with a README】則會自動創建 master 分支)

  • 首先保存本地文件
git add .
git commit -m 'test'

clipboard.png

  • 查看本地和遠程全部分支:
git branch -a

clipboard.png

此時只有本地一個master分支。。。git

  • 關聯遠程倉庫
git remote add origin git@github.com:AMrainman/vue-cli3.0-typescript.git

clipboard.png

注意關聯遠程倉庫以後須要先git pull拉一下,會把遠程倉庫的分支記錄拉到本地,不然沒辦法關聯本地分支到遠程分支!github

而後再git branch -a發現本地已經存在遠程分支remotes/origin/master,這時候就能夠按照上面git pull時的提示執行下一步關聯本地分支到遠程分支了。vue-cli

  • 關聯本地分支到遠程分支
git branch --set-upstream-to=origin/master master

clipboard.png

關聯以後再執行git pullgit push命令就能成功了。typescript

狀況2:遠程倉庫尚未 master 分支(若在 github 倉庫新建項目時候沒有勾選【Initialize this repository with a README】選項則沒有 master 分支)

這種狀況比較簡單粗暴:(此次是本地的git-test倉庫關聯到 github 的git-test倉庫)this

  • git add .git commit -m 'test'以後,便關聯遠程倉庫:
git remote add origin git@github.com:AMrainman/git-test.git

clipboard.png

  • 而後git pull拉取遠程分支記錄,發現並不存在毛線的master分支 :

clipboard.png

此時若按照提示執行關聯遠程分支的操做便會發出警告:url

git branch --set-upstream-to=origin/master master

clipboard.png

可是警告種提示遠程無master分支,能夠直接強推:spa

git push -u origin master

clipboard.png

最喜歡強推了,成功~~3d

因此,這種狀況下實際上只須要兩行代碼:code

git remote add origin git@github.com:AMrainman/git-test.git
git push -u origin master

總結

狀況 1 ,存在遠程分支的條件下,執行以下代碼:

git add .
git commit -m 'test'
git remote add origin git@github.com:AMrainman/vue-cli3.0-typescript.git
git pull
git branch --set-upstream-to=origin/master master

狀況 2 ,不存在遠程分支的條件下,執行以下代碼:

git add .
git commit -m 'test'
git remote add origin git@github.com:AMrainman/git-test.git
git push -u origin master

另外,若是本地倉庫已經有關聯的遠程倉庫,須要換個關聯的倉庫,則能夠先把當前關聯的遠程倉庫地址刪除git remote remove origin,而後再按照狀況 1 或狀況 2 操做。也能夠直接執行git remote set-url origin git@github.com:AMrainman/git-test.gitorigin的遠程倉庫地址換掉,而後強行容許沒有關係的分支合併git pull --allow-unrelated-histories

相關文章
相關標籤/搜索