查看本地關(guān)聯(lián)的所有庫(kù)
- git remote -v
gitee git@gitee.com:ponycrossriver/learngit.git (fetch)
gitee git@gitee.com:ponycrossriver/learngit.git (push)
github git@github.com:PonyCrossingTheRiver/learngit.git (fetch)
github git@github.com:PonyCrossingTheRiver/learngit.git (push)
刪除本地關(guān)聯(lián)的庫(kù)
- git remote rm origin(遠(yuǎn)程庫(kù)名稱)
關(guān)聯(lián)遠(yuǎn)程庫(kù) 以碼云為例
- git remote add origin(關(guān)聯(lián)庫(kù)的名字) git@gitee.com:你自己在碼云的地址/你的倉(cāng)庫(kù).git
當(dāng)我們將本地庫(kù)同時(shí)關(guān)聯(lián)github和碼云時(shí),有時(shí)會(huì)出現(xiàn)問(wèn)題,報(bào)這個(gè)錯(cuò)
fatal: refusing to merge unrelated histories
出現(xiàn)這個(gè)問(wèn)題的最主要原因還是在于本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)實(shí)際上是獨(dú)立的兩個(gè)倉(cāng)庫(kù)。
查閱了一下資料,發(fā)現(xiàn)可以在pull命令后緊接著使用--allow-unrelated-history選項(xiàng)來(lái)解決問(wèn)題(該選項(xiàng)可以合并兩個(gè)獨(dú)立啟動(dòng)倉(cāng)庫(kù)的歷史)。
git pull gitee master --allow-unrelated-histories

以上是將遠(yuǎn)程倉(cāng)庫(kù)的文件拉取到本地倉(cāng)庫(kù)了。
緊接著將本地倉(cāng)庫(kù)的提交推送到遠(yuǎn)程github倉(cāng)庫(kù)上,使用的命令是:
$ git push <遠(yuǎn)程主機(jī)名> <本地分支名>:<遠(yuǎn)程分支名>
也就是
$git push origin master:master
提交成功。
- pull
git pull 命令基本上就是 git fetch 和 git merge 命令的組合體,Git 從指定的遠(yuǎn)程倉(cāng)庫(kù)中抓取內(nèi)容,然后馬上嘗試將其合并進(jìn)你所在的分支中。
從遠(yuǎn)程倉(cāng)庫(kù)中獲得數(shù)據(jù),可以執(zhí)行:
$ git fetch [remote-name]
這個(gè)命令會(huì)訪問(wèn)遠(yuǎn)程倉(cāng)庫(kù),從中拉取所有你還沒(méi)有的數(shù)據(jù)。 執(zhí)行完成后,你將會(huì)擁有那個(gè)遠(yuǎn)程倉(cāng)庫(kù)中所有分支的引用,可以隨時(shí)合并或查看。
但是注意的是 git fetch 并不會(huì)自動(dòng)合并或修改你當(dāng)前的工作。 當(dāng)準(zhǔn)備好時(shí)你必須手動(dòng)將其合并入你的工作。
如果你使用 clone 命令克隆了一個(gè)倉(cāng)庫(kù),命令會(huì)自動(dòng)將其添加為遠(yuǎn)程倉(cāng)庫(kù)并默認(rèn)以 “origin” 為簡(jiǎn)寫(xiě)。 所以,git fetch origin 會(huì)抓取克?。ɑ蛏弦淮巫ト。┖笮峦扑偷乃泄ぷ?。
由于fetch命令后還要再做一步merge命令的操作,所以使用 git pull 命令來(lái)自動(dòng)的抓取然后合并遠(yuǎn)程分支到當(dāng)前分支。 (相當(dāng)于一次執(zhí)行fetch加merge命令)這可能會(huì)是一個(gè)更簡(jiǎn)單或更舒服的工作流程。