詳細了解git fetch與git pull的差別
git fetch和git pull都可以將遠端倉庫更新到本地那麼他們之間有何區別?想要弄清楚這個問題有有幾個概念不得不提。
FETCH_HEAD: 是一個版本鏈接,記錄在本地的一個檔案中,指向著目前已經從遠端倉庫取下來的分支的末端版本。
commit-id:在每次本地工作完成後,都會做一個git commit 操作來保存目前工作到本地的repo, 此時會產生一個commit-id,這是一個能唯一標識一個版本的序號。使用git push後,這個序號也會同步到遠端倉庫。
有了以上的概念再來談談git fetch
#git fetch:這將更新git remote 中所有的遠端倉庫所包含分支的最新commit-id, 將其記錄到.git/FETCH_HEAD檔案中
git fetch更新遠端倉庫的方式如下:
git fetch origin master:tmp <span class="hljs-comment"> //在本地新建一个temp分支,并将远程origin仓库的master分支代码下载到本地temp分支</span> git diff tmp <span class="hljs-comment"> //来比较本地代码与刚刚从远程下载下来的代码的区别</span> git <span class="hljs-built_in">merge</span> tmp<span class="hljs-comment"> //合并temp分支到本地的master分支</span> git branch -d temp<span class="hljs-comment"> //如果不想保留temp分支 可以用这步删除</span>
(1)如果直接使用git fetch,則步驟如下:
- 建立並更新本 地遠端分支。即建立並更新origin/xxx 分支,拉取程式碼到origin/xxx分支上。
- 在FETCH_HEAD中設定目前分支-origin/目前分支對應,如直接到時候git merge就可以將origin/abc合併到abc分支上。
(2)git fetch origin
##
只是手動指定了要fetch的remote。在不指定分支時通常會預設為master
(3)git fetch origin dev
git pull
: 首先,基於本地的FETCH_HEAD記錄,比對本地的FETCH_HEAD記錄與遠端倉庫的版本號,然後git fetch 獲得當前指向的遠端分支的後續版本的數據,然後再利用git merge將其與本地的當前分支合併。所以可以認為git pull是git fetch和git merge兩個步驟的結合。
git pull <span class="hljs-tag">远程主机名</span>> <span class="hljs-tag">远程分支名</span>>:<span class="hljs-tag">本地分支名</span>> //取回远程主机某个分支的更新,再与本地的指定分支合并。因此,與git pull相比git fetch相當於是從遠端取得最新版本到本地,但不會自動merge。如果需要有選擇的合併git fetch是更好的選擇。效果相同時git pull將更為快速。 ###
以上是詳細了解git fetch與git pull的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

互聯網運行不依賴單一操作系統,但Linux在其中扮演重要角色。 Linux廣泛應用於服務器和網絡設備,因其穩定性、安全性和可擴展性受歡迎。

Linux操作系統的核心是其命令行界面,通過命令行可以執行各種操作。 1.文件和目錄操作使用ls、cd、mkdir、rm等命令管理文件和目錄。 2.用戶和權限管理通過useradd、passwd、chmod等命令確保系統安全和資源分配。 3.進程管理使用ps、kill等命令監控和控制系統進程。 4.網絡操作包括ping、ifconfig、ssh等命令配置和管理網絡連接。 5.系統監控和維護通過top、df、du等命令了解系統運行狀態和資源使用情況。

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

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

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

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器