搜尋
首頁開發工具GitGit教學之git pull和git clone的差別(總結分享)

這篇文章為大家帶來了Git教學中git pull和git clone的區別相關知識,希望對大家有幫助。

Git教學之git pull和git clone的差別(總結分享)

網路上看好多人解釋pull和clone的區別,說什麼pull是更新本地程式碼,clone是本地從無到有的過程,但有一點沒提到,恰好我今天又犯了這個問題,因為我原來都是直接從遠端倉庫pull,今天突然發現發現pull不能用,clone才生效,我才意識到這個問題。決定記錄一下。

1 git pull

git pull適用於從使用者有權限的倉庫下拉程式碼,不管本地有沒有程式碼。

因為我平常下拉程式碼都是直接git pull。

1.1 我有權限的倉庫

#我有權限的倉庫指的是我自己的,或是團隊中我可以使用的倉庫。

要使用git pull首先你要確定已經連接遠端倉庫。不然你直接git pull orgin master那Github會問你:「什麼master?哪個master?你就是老子的master嗎?」

所以首先要連接遠端倉庫。

Git教學之git pull和git clone的差別(總結分享)

init初始化空白的本地倉庫,裡邊除了.git啥也沒有

連接遠端倉庫

1.1.1本地沒代碼

Git教學之git pull和git clone的差別(總結分享)

git remote -v用來顯示目前本地倉庫連接的遠端倉庫,你可以連接好幾個。然後一個倉庫是成對存在的,一個上傳一個下拉。前邊origin我一般稱為遠端倉庫代稱,後邊的是您的連線方式。

現在顯示我連接了一個github的遠端倉庫取名為origin。

Git教學之git pull和git clone的差別(總結分享)

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

1.1.2 本機有程式碼

本地有程式碼是什麼情況。

  • 團隊合作,一個倉庫多人使用

  • 你自己的倉庫,你在多台電腦上使用(例如宿捨一個,實驗室一個)

為什麼要git pull呢?不同電腦上程式碼版本不一樣。所以為了減少工作並且保證程式碼版本一致,要在每次寫程式碼的時候下拉程式碼。寫完之後push到遠端倉庫。畫個圖解釋一下。

Git教學之git pull和git clone的差別(總結分享)

Git教學之git pull和git clone的差別(總結分享)

1.2 我沒有權限的倉庫

沒權限的倉庫指的是別人的倉庫。別人不給權限,當然不能隨意修改人家的程式碼了。

沒權限的倉庫不能使用git pull。例如:

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

Git教學之git pull和git clone的差別(總結分享)

我像往常一樣添加倉庫鏈接,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金鑰無法使用,讓我確認我是否有權限存取或這個倉庫是不是存在。

倉庫確實是存在的。所以肯定是我沒有權限。

Git教學之git pull和git clone的差別(總結分享)

解釋三步驟操作:

  • #新增遠端倉庫,用SSH連線

  • 從倉庫master分支下拉程式碼

  • 刪除我新增的遠端倉庫(既然不能用我當然刪掉了)

這時候我想起來:SSH只有倉庫所有者能用。因為你電腦上設定的SSH和你github上的SSH是一對的,只有你在你電腦上使用你的github倉庫才能用SSH。

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

Git教學之git pull和git clone的差別(總結分享)

我又添加了https的連接

第二步我又下拉的倉庫

然後他又提示我:

fatal: unable to access 'github.com/hitvoice/Dr…': OpenSSL SSL_read: Connection was reset, errno 10054

############################################################################################################################################################################################### ####意思還是我無法連線。 ###

這時候我突然意識到問題了:neutral_face:。這好像是人家的倉庫哎,我不能使用remote連接遠端倉庫之後下拉啊。因為如果我能連上的話就代表我能隨意修改人家的程式碼。所以我肯定不能使用這樣的方式pull程式碼啊! ! !

所以得用git clone

2 git clone

git clone適用於本地沒有程式碼,你要下載。你連不連接遠端倉庫。有無倉庫權限皆可。

接上邊的說,意識到使用git clone之後,我刪除了剛才的HTTPS連接遠端倉庫,然後直接git clone,程式碼成功下載下來了。

Git教學之git pull和git clone的差別(總結分享)

我刪除了上邊的https連接遠端倉庫的方法

git remote -v用於查看你本地倉庫都連接了哪些遠端倉庫,如果連線了會顯示倉庫代號和連線方式,我這裡輸出空白,就是沒連接任何遠端倉庫的狀態

git clone下載程式碼成功了。

上邊說的是別人的倉庫,那如果是我有權限的倉庫呢?

新建一個本地倉庫。很明顯是成功的。 SSH能成功,那HTTPS必定成功。不用remote能成功,那用了remote也必定成功。

Git教學之git pull和git clone的差別(總結分享)

推薦學習:《Git教學

以上是Git教學之git pull和git clone的差別(總結分享)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金。如有侵權,請聯絡admin@php.cn刪除
git和github:探索他們的角色和功能git和github:探索他們的角色和功能May 09, 2025 am 12:25 AM

Git和GitHub在軟件開發中的角色和功能是管理代碼和協作開發。 Git通過commit、branch和merge等功能高效管理代碼版本,而GitHub則提供代碼託管和協作工具,如PullRequest和Issues,提升團隊協作效率。

GitHub:發現,共享和為代碼做出貢獻GitHub:發現,共享和為代碼做出貢獻May 08, 2025 am 12:26 AM

GitHub是開發者發現、分享和貢獻代碼的首選平台。 1)通過搜索功能查找特定代碼庫,如Python項目。 2)創建倉庫並推送代碼分享給全球開發者。 3)通過Fork和PullRequest參與開源項目並貢獻代碼。

將git與github使用:實用指南將git與github使用:實用指南May 07, 2025 am 12:11 AM

Git是一種版本控制系統,GitHub是基於Git的在線平台。使用Git和GitHub進行代碼管理和團隊協作的步驟包括:1.初始化Git倉庫:gitinit。 2.添加文件到暫存區:gitadd.。 3.提交更改:gitcommit-m"Initialcommit"。 4.關聯GitHub倉庫:gitremoteaddoriginhttps://github.com/username/repository.git。 5.推送代碼到GitHub:gitpush-uoriginmaste

GitHub的影響:軟件開發與協作GitHub的影響:軟件開發與協作May 06, 2025 am 12:09 AM

GitHub對軟件開發和協作的影響深遠:1.它基於Git的分佈式版本控制系統,提高了代碼安全性和開發靈活性;2.通過PullRequest等功能,提升了團隊協作效率和知識共享;3.GitHubActions等工具幫助優化開發流程,提高代碼質量。

使用GitHub:共享,管理和為代碼做出貢獻使用GitHub:共享,管理和為代碼做出貢獻May 05, 2025 am 12:12 AM

在GitHub上分享、管理和貢獻代碼的方法包括:1.創建倉庫並推送代碼,編寫README和LICENSE文件;2.使用分支、標籤和合併請求管理代碼;3.Fork倉庫、修改並提交PullRequest貢獻代碼。通過這些步驟,開發者可以有效利用GitHub提升開發效率和協作能力。

git vs. github:比較分析git vs. github:比較分析May 04, 2025 am 12:07 AM

Git是一個分佈式版本控制系統,GitHub是一個基於Git的協作平台。 Git用於版本控制和代碼管理,GitHub則提供額外的協作功能,如代碼審查和項目管理。

git vs. github:了解差異git vs. github:了解差異May 03, 2025 am 12:08 AM

Git是分佈式版本控制系統,GitHub是基於Git的在線平台。 Git用於版本控制、分支管理和合併,GitHub提供代碼託管、協作工具和社交網絡功能。

github:前端,git:後端github:前端,git:後端May 02, 2025 am 12:16 AM

Git是後端版本控制系統,GitHub是基於Git的前端協作平台。 Git管理代碼版本,GitHub提供用戶界面和協作工具,兩者協同工作提升開發效率。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境