Git fetch pull 詳解

1、簡單概括
先用一張圖來理一下git fetch和git pull的概念:

可以簡單的概括為:

git fetch是將遠程主機的最新內容拉到本地,用戶在檢查了以后決定是否合并到工作本機分支中。

而git pull 則是將遠程主機的最新內容拉下來后直接合并,即:git pull = git fetch + git merge,這樣可能會產生沖突,需要手動解決。

下面我們來詳細了解一下git fetch 和git pull 的用法。?


2、分支的概念
在介紹兩種方法之前,我們需要先了解一下分支的概念:?
分支是用來標記特定代碼的提交,每一個分支通過SHA1sum值來標識,所以對分支的操作是輕量級的,你改變的僅僅是SHA1sum值。

如下圖所示,當前有2個分支,A,C,E屬于master分支,而A,B,D,F屬于dev分支。

A----C----E(master)
?\
? B---D---F(dev)

它們的head指針分別指向E和F,對上述做如下操作:

git checkout master ?//選擇or切換到master分支
git merge dev ? ? ? ?//將dev分支合并到當前分支(master)中

合并完成后:

A---C---E---G(master)
?\ ? ? ? ? /
? B---D---F(dev)

現在ABCDEFG屬于master,G是一次合并后的結果,是將E和F的代碼合并后的結果,可能會出現沖突。而ABDF依然屬于dev分支。可以繼續在dev的分支上進行開發:

A---C---E---G---H(master)
?\ ? ? ? ? /
? B---D---F---I(dev)

分支(branch)的基本操作:

git branch //查看本地所有分支?

git branch -r //查看遠程所有分支

git branch -a //查看本地和遠程的所有分支

git branch <branchname> //新建分支

git branch -d <branchname> //刪除本地分支

git branch -d -r <branchname> //刪除遠程分支,刪除后還需推送到服務器
git push origin:<branchname> ?//刪除后推送至服務器

git branch -m <oldbranch> <newbranch> //重命名本地分支
/**
*重命名遠程分支:
*1、刪除遠程待修改分支
*2、push本地新分支到遠程服務器
*/

//git中一些選項解釋:

-d
--delete:刪除

-D
--delete --force的快捷鍵

-f
--force:強制

-m
--move:移動或重命名

-M
--move --force的快捷鍵

-r
--remote:遠程

-a
--all:所有
?


3、git fetch 用法
git fetch 命令:

$ git fetch <遠程主機名> //這個命令將某個遠程主機的更新全部取回本地

如果只想取回特定分支的更新,可以指定分支名:

$ git fetch <遠程主機名> <分支名> //注意之間有空格

最常見的命令如取回origin 主機的master 分支:

$ git fetch origin master

取回更新后,會返回一個FETCH_HEAD ,指的是某個branch在服務器上的最新狀態,我們可以在本地通過它查看剛取回的更新信息:

$ git log -p FETCH_HEAD

如圖:?


可以看到返回的信息包括更新的文件名,更新的作者和時間,以及更新的代碼(19行紅色[刪除]和綠色[新增]部分)。

我們可以通過這些信息來判斷是否產生沖突,以確定是否將更新merge到當前分支。?


4、git pull 用法
前面提到,git pull 的過程可以理解為:

git fetch origin master //從遠程主機的master分支拉取最新內容?
git merge FETCH_HEAD ? ?//將拉取下來的最新內容合并到當前所在的分支中

即將遠程主機的某個分支的更新取回,并與本地指定的分支合并,完整格式可表示為:

$ git pull <遠程主機名> <遠程分支名>:<本地分支名>

如果遠程分支是與當前分支合并,則冒號后面的部分可以省略:

$ git pull origin next
?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537809.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537809.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537809.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 安裝redis2.8.3,Linux及Windows安裝Redis(詳細)

標簽&#xff1a;Linux及Windows安裝Redis1.Windows安裝教程1.1下載https://github.com/MSOpenTech/redis/releases進入github里下載redis Windows版壓縮包將我們下載好的文件放進新建的一個Redis文件夾(我在C盤創建了一個redis的文件夾)1.2啟動服務打開我們Windows版的dos命令…

Git 少用 Pull 多用 Fetch 和 Merge

轉自&#xff1a;http://www.oschina.net/translate/git-fetch-and-merge --------------------------------------------------------------------------------- 本文有點長而且有點亂&#xff0c;但就像Mark Twain Blaise Pascal的笑話里說的那樣&#xff1a;我沒有時間讓…

IDEA生成可運行jar包

方式1: maven打包 maven 包中添加如下配置 <build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><appendAssemblyId>false</appendAssemblyId><descriptorRefs><descriptorRef&…

linux packet socket,linux Packet socket (1)簡單介紹

本文主要來自于linux自帶的man packet手冊&#xff1a;http://man7.org/linux/man-pages/man7/packet.7.html平時常常使用的INET套接字提供的是7層的抓包能力&#xff0c;抓上來的data直接就是tcp或者udp的payload&#xff0c;無需關心L3和L4的頭部信息。Packet套接字提供的是L…

TortoiseGit 修改密碼

當TortoiseGi默認設置了憑證助手為“管理器-所有windows用戶”&#xff0c;每次向遠程git推送時&#xff0c;都會去windows的憑證管理器里讀取值&#xff0c;然后推送。 如果密碼修改了&#xff0c;或者密碼不小心輸入錯了&#xff0c;每次提交都會報錯&#xff1a;HTTP Basic:…

linux系統常見操作,Linux系統基本操作

我們可以認為Linux是一套自由使用的類Unix操作系統&#xff0c;與Windows相比較而言&#xff0c;Linux具有安全、開源、穩定等特點。下面我來介紹Linux中一些的登錄登出基本操作。1. 啟動系統通常LILO是安裝在MBR上的&#xff0c;計算機啟動后&#xff0c;MBR上的程序被執行&am…

字符串常見處理

mystr hello world itcast and itcastcpps mystr.find(hello)print(s)ind mystr.index(world)print(ind)cou mystr.count(c)print(cou)rep mystr.replace(c,)print(rep)spl mystr.split( )print(spl)轉載于:https://www.cnblogs.com/zxt-cn/p/9714841.html

git 無法訪問

git分2種訪問方式&#xff1a;ssh&#xff0c;https ssh模式&#xff0c;需要在github或gitlab上配置公鑰&#xff0c;本地要生成秘鑰。 舉例&#xff1a; 公司使用gitlab 張工需要訪問公司李工的代碼庫。 步驟&#xff1a; 1、李工要在gitlab他的項目里&#xff0c;給張…

c語言編程統計單詞的個數,使用c語言如何統計單詞個數

使用c語言如何統計單詞個數發布時間&#xff1a;2020-04-21 13:58:58來源&#xff1a;億速云閱讀&#xff1a;207作者&#xff1a;小新使用c語言如何統計單詞個數&#xff1f;相信有很多人都不太了解&#xff0c;今天小編為了讓大家更加了解Golang&#xff0c;所以給大家總結了…

10 種保護 Spring Boot 應用的絕佳方法

Spring Boot大大簡化了Spring應用程序的開發。它的自動配置和啟動依賴大大減少了開始一個應用所需的代碼和配置量&#xff0c;如果你已經習慣了Spring和大量XML配置&#xff0c;Spring Boot無疑是一股清新的空氣。 Spring Boot于2014年首次發布&#xff0c;自那以后發生了很多變…

zkServer.cmd 閃退

調用 zkEnv.cmd 查看下 zkEnv.cmd 在\conf下復制zoo_sample.cfg 重命名為 zoo.cfg 再運行&#xff0c;成功

c語言單字符輸入和輸出函數分別為,第03章單元總練習-實訓-知識拓展.doc

第03章單元總練習-實訓-知識拓展《C語言程序設計》單元總結單元練習實訓指導知識拓展第三章 最簡單的C程序設計——順序結構設計班級:姓名:學號:單元總結提升本單元中&#xff0c;核心內容有C語言中基本的數據類型、常量和變量、運算符和表達式以及算法的概念。通過本單元的學習…

那些你不知道的 getClientRects()

1.getClientRects()。是可以獲取內聯元素的內容有多少行 最近一個交互&#xff0c;在限定文字展現是5行&#xff0c;超過5行&#xff0c;則在后面添加。。。展開。如果沒有展開二字&#xff0c;我們一般用css就能完成了。但是為了交互更人性化 text-overflow: -o-ellipsis-last…

idea統計代碼行數

使用統計代碼插件&#xff0c;可以統計代碼行數。安裝插件 Statistic。&#xff08;這個最好用&#xff09; File----settiing---plugins---browse repositories 重啟idea后&#xff0c;底部會多一個 Statistic 點擊刷新&#xff0c;行數就出來了。看最后的 Total

數據結構計算c語言數據步驟,數據結構C語言版視頻教程-介紹各種最常用的數據結構 分析各種數據結構運算算法的實現過程-電腦網絡視頻-星火視頻教程 21edu8.com...

這部數據結構C語言版視頻教程結構清晰&#xff0c;實例豐富&#xff0c;具有很強的操作性和實用性。 它主要為大家介紹各種最常用的數據結構&#xff0c;以及從編程角度出發&#xff0c;分析各種數據結構運算算法的實現過程。數據結構是計算機存儲、組織數據的方式。數據結構是…

極光推送小結 - iOS

此次即友盟分享小結(友盟分享小結 - iOS)之后對推送也進行了一版優化.此次分享內容依然基于已經成功集成 SDK 后 code 層級部分. 注:此次分享基于 SDK 3.1.0,若版本相差較大,僅供參考. 極光推送官方文檔: https://docs.jiguang.cn/jpush/guideline/intro/ 首先,為分享單獨創建了…

word去除所有的空行

申請軟著時&#xff0c;需要復制源代碼到word里。每行代碼不能有換行&#xff0c;要緊湊的80頁代碼。每頁要50~55行代碼。 字體可設置為&#xff1a;宋體&#xff0c;5號&#xff0c;行間距固定值12。 演示實例 去除下面word代碼里的空行 第一步&#xff1a; word顯示隱藏的…

c語言Wndproc未定義,為什么我的老是未定義

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓這是源代碼#includeLRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,PSTR szCmdLine, int iCmdShow){static TCHAR szAppName[] TEXT("HelloWin&qu…

spark on yarn

2019獨角獸企業重金招聘Python工程師標準>>> spark on yarn 軟件安裝 當前環境 hadoop環境搭建參考&#xff1a;hadoop集群安裝 hadoop2.6spark-2.2.0-bin-hadoop2.6.tgzscala-2.11.12安裝scala tar -zxvf scala-2.11.12.tgz vi /etc/profile 添加以下內容 export S…

如何查看SQL Server2000執行過的SQL語句

SQLServer事件探查器可以完整記錄SQL服務器執行過的SQL語句以及存儲過程等 下面是SQLServer事件探查器的使用方法&#xff1a; 1. 打開SQL Server 企業管理器。 2. 從“工具”菜單選擇“事件探查器”。 3. 當“事件探查器”主界面打開后&#xff0c;從“文件”菜單選擇“新跟蹤…