欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

git?pull和git?clone的區(qū)別詳解

 更新時(shí)間:2023年07月07日 11:12:10   作者:Ann's?Blog  
本文主要介紹了git?pull和git?clone的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

網(wǎng)上看好多人解釋pull和clone的區(qū)別,說什么pull是更新本地代碼,clone是本地從無到有的過程,但有一點(diǎn)沒提到,恰好我今天又犯了這個(gè)問題,因?yàn)槲以瓉矶际侵苯訌倪h(yuǎn)程倉庫pull,今天突然發(fā)現(xiàn)發(fā)現(xiàn)pull不能用,clone才生效,我才意識到這個(gè)問題。決定記錄一下。

使用方法

  • 有權(quán)限的倉庫 本地?zé)o代碼
    • git pull
    • git clone
  • 有權(quán)限的倉庫 本地有代碼
    • git pull
  • 無權(quán)限的倉庫 本地?zé)o代碼
    • git clone
  • 無權(quán)限的倉庫 本地有代碼
    • 刪了重新下

換個(gè)說法

  • git pull:必須連接遠(yuǎn)程倉庫才能用??梢杂糜谙螺d完整代碼更新本地代碼。
  • git clone:只要你想往本地下遠(yuǎn)程倉庫完整的代碼就可以用,不用連接遠(yuǎn)程倉庫(連接了也可以)。 不適用于更新本地代碼。

如果只想知道怎么用就不用往下看了,如果想知道原因繼續(xù)看。

1 git pull

git pull適用于從用戶有權(quán)限的倉庫下拉代碼,不管本地有沒有代碼。

因?yàn)槲移綍r(shí)下拉代碼都是直接git pull。

1.1 我有權(quán)限的倉庫

我有權(quán)限的倉庫指的是我自己的,或者團(tuán)隊(duì)中我可以使用的倉庫。

要使用git pull首先你要確定已經(jīng)連接遠(yuǎn)程倉庫。要不然你直接git pull orgin master那Github會問你:“???什么master?哪個(gè)master?你就是老子的master嗎?”

所以首先要連接遠(yuǎn)程倉庫。

  • init初始化空白的本地倉庫,里邊除了.git啥也沒有
  • 連接遠(yuǎn)程倉庫

1.1.1 本地沒代碼

git remote -v用于顯示當(dāng)前本地倉庫連接的遠(yuǎn)程倉庫,你可以連接好幾個(gè)。然后一個(gè)倉庫是成對存在的,一個(gè)上傳一個(gè)下拉。前邊origin我一般稱為遠(yuǎn)程倉庫代稱,后邊的是你的連接方式。

現(xiàn)在顯示我連接了一個(gè)github的遠(yuǎn)程倉庫取名叫origin。

空白倉庫直接使用git pull就可以下拉代碼了。

1.1.2 本地有代碼

本地有代碼是什么情況。

  • 團(tuán)隊(duì)合作,一個(gè)倉庫多人使用
  • 你自己的倉庫,你在多臺電腦上使用(比如宿舍一個(gè),實(shí)驗(yàn)室一個(gè))

為什么要git pull呢?不同電腦上代碼版本不一樣。所以為了減少工作并且保證代碼版本一致,要在每次寫代碼的時(shí)候下拉代碼。在寫完之后push到遠(yuǎn)程倉庫。畫個(gè)圖解釋一下。

1.2 我沒權(quán)限的倉庫

沒權(quán)限的倉庫指的是別人的倉庫。別人不給權(quán)限,你當(dāng)然不能隨意修改人家的代碼了。

沒權(quán)限的倉庫不能使用git pull。比如:

今天我像往常一樣去下載代碼。但是這是我第一次下載別人的代碼。

我像往常一樣添加倉庫鏈接,git pull下拉。但是他提示我:

Permission denied (publickey).fatal: Could not read from remote repository.

Please make sure you have the correct access rightsand the repository exists.

Permission denied是說SSH密鑰無法使用,讓我確認(rèn)我是否有權(quán)限訪問或者這個(gè)倉庫是不是存在。倉庫確實(shí)是存在的。所以肯定是我沒有權(quán)限。

解釋一下三步操作:

  • 添加遠(yuǎn)程倉庫,用SSH連接
  • 從倉庫master分支下拉代碼
  • 刪除我添加的遠(yuǎn)程倉庫(既然不能用我當(dāng)然刪掉了)

這時(shí)候我想起來:SSH只有倉庫所有者能用。因?yàn)槟汶娔X上配置的SSH和你github上的SSH是一對的,只有你在你電腦上使用你的github倉庫才能用SSH。

既然倉庫所有者才能用SSH,那我換HTTP不就行了。(此時(shí)我還沒意識到問題的嚴(yán)重性??)

  • 我又添加了https的連接
  • 第二步我又下拉的倉庫

然后他又提示我:

fatal: unable to access ‘https://github.com/hitvoice/DrQA.git/’: OpenSSL SSL_read: Connection was reset, errno 10054

意思還是我無法連接。這時(shí)候我突然意識到了問題??。這好像是人家的倉庫哎,我不能使用remote連接遠(yuǎn)程倉庫之后下拉啊。因?yàn)槿绻夷苓B上的話就意味著我能隨意修改人家的代碼。所以我肯定不能使用這樣的方式pull代碼?。。。?/p>

所以得用git clone

2 git clone

git clone適用于本地沒有代碼,你要下載。

你連不連接遠(yuǎn)程倉庫都可以,有無倉庫權(quán)限皆可

接上邊的說,意識到使用git clone之后,我刪除了剛才的HTTPS連接遠(yuǎn)程倉庫,然后直接git clone,代碼成功下載下來了??????。

  • 我刪除了上邊的https連接遠(yuǎn)程倉庫的方法
  • git remote -v用于查看你本地倉庫都連接了哪些遠(yuǎn)程倉庫,如果連接了會顯示倉庫代號和連接方式,我這里輸出空白,就是沒連接任何遠(yuǎn)程倉庫的狀態(tài)
  • git clone下載代碼成功了。

上邊說的是別人的倉庫,那如果是我有權(quán)限的倉庫呢?

新建一個(gè)空白的本地倉庫。直接用SSH clone能成功,那HTTPS必定成功。不用remote能成功,那用了remote也必定成功。(覺得這些稍微會用github的一般不用解釋了,如果實(shí)在不明白評論區(qū)問我。)

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

相關(guān)文章

  • Jenkins使用publish?html?report插件展示HTML報(bào)告的方法

    Jenkins使用publish?html?report插件展示HTML報(bào)告的方法

    這篇文章主要介紹了Jenkins使用publish?html?report插件展示HTML報(bào)告的方法,展示普通的html如何展示在jenkins上,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • Git中使用.gitignore忽略文件的推送方式

    Git中使用.gitignore忽略文件的推送方式

    這篇文章主要介紹了Git中使用.gitignore忽略文件的推送方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 編程愛好者學(xué)習(xí)心得補(bǔ)充

    編程愛好者學(xué)習(xí)心得補(bǔ)充

    由于網(wǎng)絡(luò)的發(fā)展趨勢,現(xiàn)在越來越多的人喜歡電腦,并學(xué)習(xí)編程,現(xiàn)在新手不缺,就是缺少深入鉆研的牛人,這里簡單介紹下新手編程學(xué)習(xí)經(jīng)驗(yàn),需要的朋友可以參考下
    2013-06-06
  • 算法系列15天速成 第三天 七大經(jīng)典排序【下】

    算法系列15天速成 第三天 七大經(jīng)典排序【下】

    今天跟大家聊聊最后三種排序: 直接插入排序,希爾排序和歸并排序
    2013-11-11
  • Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解)

    Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解)

    這篇文章主要介紹了Git恢復(fù)之前版本的兩種方法reset、revert(圖文詳解),文中通過圖文示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Visual?Studio實(shí)用調(diào)試技巧大全

    Visual?Studio實(shí)用調(diào)試技巧大全

    這篇文章主要給大家介紹了關(guān)于Visual?Studio實(shí)用調(diào)試技巧的相關(guān)資料,如果你還沒有使用過這些技巧,希望這篇博文能幫你發(fā)現(xiàn)它們,它們學(xué)起來很容易,能幫你節(jié)省很多時(shí)間,需要的朋友可以參考下
    2023-06-06
  • Gitlab新建用戶無法收到郵件的問題解決辦法

    Gitlab新建用戶無法收到郵件的問題解決辦法

    在配置GitLab郵件服務(wù)時(shí),可能因?yàn)榄h(huán)境或版本差異遇到問題,本文就來介紹一下Gitlab新建用戶無法收到郵件的問題解決辦法,感興趣的可以了解一下
    2024-11-11
  • 玩轉(zhuǎn)VSCode插件之Remote-SSH的使用情況

    玩轉(zhuǎn)VSCode插件之Remote-SSH的使用情況

    這篇文章主要介紹了玩轉(zhuǎn)VSCode插件之Remote-SSH的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 綁定/約束 (binding)指兩個(gè)東西之間的關(guān)聯(lián)

    綁定/約束 (binding)指兩個(gè)東西之間的關(guān)聯(lián)

    綁定/約束 (binding)指兩個(gè)東西之間的關(guān)聯(lián)。如 名字 與它所代表的事物。又如屬性與實(shí)體之間的關(guān)聯(lián),又或者符號與操作之間的關(guān)聯(lián)。
    2011-01-01
  • 使用git checkout到歷史某個(gè)版本

    使用git checkout到歷史某個(gè)版本

    這篇文章主要介紹了使用git checkout到歷史某個(gè)版本,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論