最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

git的遠程分支的作用和本地分支有什么區(qū)別

 更新時間:2020年10月29日 14:18:50   作者:TechFlow2019  
這篇文章主要介紹了git的遠程分支的作用和本地的有什么區(qū)別,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

不知道大家有沒有經(jīng)歷過,當(dāng)我們切換到了一個新的分支想要提交代碼的時候,總會遇到這樣的錯誤。

我們把日志里的英文翻譯過來是說,我們當(dāng)前的分支沒有設(shè)置任何上游分支。然后git提示我們可以運行下面這行代碼來設(shè)置遠程的上游,這樣我們就可以push成功了。

當(dāng)然如果我們push的時候執(zhí)行的不是git push,而是后面再加上origin的話,就可以push成功了。比如這樣:

那么這是什么原因呢?這個origin分支又是什么意思呢?我們今天就來討論一下這個問題。

遠程分支

遠程分支其實就是遠程代碼倉庫當(dāng)中的分支,比如我們的repo如果是存在github的,那么這個遠程倉庫就是github,如果是存在gitlab的,那么這個倉庫就是gitlab,如果是其他的倉庫也是一樣的道理。

當(dāng)我們在使用git clone的時候,git會自動地

將這個遠程的repo命名為origin,拉取它所有的數(shù)據(jù)之后,創(chuàng)建一個指向它master的指針,命名為origin/master,之后會在本地創(chuàng)建一個指向同樣位置的指針,命名為master,和遠程的master作為區(qū)分。

也就是說,origin的含義指的是遠程的倉庫。它只是一個標記,就和默認分支叫做master一樣,本身并沒有特別的含義。如果我們愿意也可以起其他的名字,但是一般沒有人這么干。比如我們在clone的時候可以添加一個參數(shù)-o給遠程的repo起一個別名:

這樣一來,遠程的這個repo就會被命名為chengzhi,代替原本的origin。但是這樣除了裝逼和增加成本之外,沒有任何用處,不推薦這么干。

操作命令

還記得我們之前在介紹git的時候曾經(jīng)說過遠程repo的作用,就是為了防止本地的代碼錯亂,所以在遠程留一份備份。這樣即使我們的代碼完蛋了,至少還可以找到備份。

所以遠程的repo最大的作用就是保留備份,既然要保留備份,那么我們本地和遠程的代碼交互肯定是免不了的。大家可能都大概知道git pull從遠程拉取,git push推送到遠程,但是對于這其中的細節(jié)可能不太清楚。之前沒有詳細介紹過遠程分支,所以也沒辦法深入,我們今天剛好聊到這個話題,正好好好說道說道。

代碼拉取

我們先說代碼拉取,說到代碼拉取大家的第一反應(yīng)可能是git pull。但是其實git pull并不是嚴格意義上的代碼拉取命令,至少它還不是最細粒度,其實還有一個比git pull更加細粒度的操作。它就是——git fetch。

git clone -o chengzhi

實際上git fetch才是真正的代碼拉取的操作,它的作用是將遠程的改動同步到本地。當(dāng)我們執(zhí)行g(shù)it fetch origin的時候,這里的origin指的是遠程的名字,如果你有多個遠程的話要指定的話需要加上,否則可以不寫。它會把遠程所有的改動和分支都拉取到本地,命名為origin/xxx。origin的分支我們用git branch是看不到的,它只能看到本地的分支名,如果想要查看可以使用git branch -r。

當(dāng)我們使用git checkout切換過去的時候,可以不必加上origin,git會自動生成一個本地的分支指針,也指向同樣的節(jié)點。它相當(dāng)于我們執(zhí)行了git checkout -b test origin/test。說到這里就需要提一下git pull和git fetch的區(qū)別了,這兩者從表面上來看都是拉取遠程的改動。但是兩者針對的范圍不同,git fetch針對遠程的所有改動,而git pull只針對當(dāng)前分支對應(yīng)的遠程分支。另外git pull執(zhí)行之后會將遠程的改動merge到本地的分支,也就是說它其實多了一步merge的操作。

代碼推送

說到代碼推送回到了我們開頭的那個問題,什么情況下git push就可以,什么情況下需要加上origin呢?

這里涉及一個機制就是本地的分支是不會自動和遠程同步的,比如遠程有人創(chuàng)建了一個test分支,我們拉取到本地會叫做origin/test。我們也可以自己創(chuàng)建一個test分支,和它井水不犯河水。這也是為了方便,如果直接用名稱映射的話,可能會有潛在的沖突。并且由于可能會存在多個遠程repo,所以我們push的時候也會有多種選擇。

最完整的push命令是應(yīng)該寫成這樣的:

git push origin test:cz/test

我們注意到這里用了一個奇怪的寫法test:cz/test,它的意思是說將本地的test分支推送到遠程作為cz/test分支。如果我們想要本地的名稱和遠程一樣,我們可以省略簡寫成:git push origin test。

如果我們設(shè)置過當(dāng)前test分支的上游是遠程的test,或者本地的test就是從origin拷貝過來的,那么我們可以直接git push,它會自動將本地的分支與遠程關(guān)聯(lián)上,會方便很多。實際上我們大多數(shù)的push操作都是這么進行的。將本地分支和遠程建立映射可以使用這個命令:

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

它表示的是將本地的master和遠程的master進行關(guān)聯(lián),設(shè)置過關(guān)聯(lián)之后我們只需要git push和git pull就可以更新和推送這個分支了,會方便很多。

關(guān)于遠程分支還有一些內(nèi)容我們沒有涉及,比如如何跟蹤遠程的分支,如何刪除等等。由于這些內(nèi)容幾乎用不到,我們即使強行記住了到時候也會忘記,所以就不多贅述了。

到此這篇關(guān)于git的遠程分支的作用和本地的有什么區(qū)別的文章就介紹到這了,更多相關(guān)git遠程分支內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 蝴蝶優(yōu)化算法及實現(xiàn)源碼

    蝴蝶優(yōu)化算法及實現(xiàn)源碼

    這篇文章主要為大家介紹了蝴蝶優(yōu)化算法的講解及實現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • VSCode自定義配色方案的實現(xiàn)

    VSCode自定義配色方案的實現(xiàn)

    這篇文章主要介紹了VSCode自定義配色方案的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • linux系統(tǒng)使用vscode進行qt開發(fā)的過程分享

    linux系統(tǒng)使用vscode進行qt開發(fā)的過程分享

    最近在Linux上搞Qt,搞的一頭霧水,小編把整個過程記錄下,分享需要的朋友,如果大家對linux系統(tǒng)使用vscode進行qt開發(fā)相關(guān)知識感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • gitlab分支合并沖突的處理過程

    gitlab分支合并沖突的處理過程

    這篇文章主要介紹了gitlab分支合并沖突的處理過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • vscode擴展代碼定位實現(xiàn)步驟詳解

    vscode擴展代碼定位實現(xiàn)步驟詳解

    這篇文章主要為大家介紹了vscode擴展代碼定位實現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 如何讓 vim 成為我們的神器(小結(jié))

    如何讓 vim 成為我們的神器(小結(jié))

    這篇文章主要介紹了如何讓 vim 成為我們的神器(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • git如何使用Sourcetree合并多次本地提交記錄

    git如何使用Sourcetree合并多次本地提交記錄

    這篇文章主要介紹了git如何使用Sourcetree合并多次本地提交記錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 30個提高Web程序執(zhí)行效率的好經(jīng)驗分享

    30個提高Web程序執(zhí)行效率的好經(jīng)驗分享

    30個提高Web程序執(zhí)行效率的好經(jīng)驗分享,需要的朋友可以參考下。
    2011-10-10
  • 進制轉(zhuǎn)換基礎(chǔ)

    進制轉(zhuǎn)換基礎(chǔ)

    很多年前大學(xué)里學(xué)過的進制轉(zhuǎn)換還是挺簡單的,沒想到多年不用了,都忘了,剛好看到這篇文章,特分享下,方便需要的朋友
    2013-02-02
  • htaccess語法教程

    htaccess語法教程

    前些天不小心刪除了原來的博客系統(tǒng),問過godaddy的客服,恢復(fù)數(shù)據(jù)需要150美元,另外還需要提供不少信息,我于是放棄,注冊了這個nunumick.me,打算從頭再來。
    2011-09-09

最新評論

巨野县| 邳州市| 伊金霍洛旗| 肇东市| 平遥县| 札达县| 维西| 郧西县| 阿鲁科尔沁旗| 若羌县| 历史| 灵丘县| 新乡县| 新龙县| 新龙县| 兴化市| 嫩江县| 象州县| 信阳市| 柘荣县| 唐海县| 大庆市| 孟村| 石柱| 绥阳县| 兖州市| 栾川县| 绥棱县| 江津市| 华池县| 汤阴县| 阳新县| 胶南市| 梓潼县| 阳城县| 柏乡县| 保德县| 温泉县| 洪江市| 临潭县| 营山县|