git的理解

liulang68發表於2020-11-10

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
為當前專案打標籤往小了說,比如你現在在敲樂優商城,剛結束day11的程式碼。你想給當前程式碼留個“快照”,以後可以恢復。往大了說,公司專案開發會留存版本v1.0 v2.0,也可以用標籤。標籤和分支不是一個概念。比如你有master分支,今天可能只寫了Hello.java,你為當前狀態打了一個標籤v1.0,提交了程式碼,也提交了標籤。第二天你新增了一個World.java,提交到master分支。此時的master分支已經和昨天的master分支不一樣了,但是你在另一臺電腦上下載v1.0標籤,它的程式碼還是隻有Hello.java。也就是說,分支是動態的、變化的,而標籤把程式碼狀態留在了那一刻。建立標籤的步驟:

git tag [tagName]
git push origin [tagName]

在這裡插入圖片描述
在這裡插入圖片描述分支的理解:
分支可以理解為平行的幾條公路,公路之間互不干擾,從主分支建立幾個子分支,相當於公路的岔路口一樣,然後ABC三人各走一條路,互相之間誰也不干擾誰,最後到另外一個交叉路口時,三人就又可以碰面走到一起了。分支在實際開發中的作用可以這樣理解:現在有ABC三人同時開發一個專案,A開發功能一、B開發功能二、C開發功能三,如果三人同時在同一個專案同一條分支上面開發的話,很容易造成互相之間檔案衝突等困境,對開發很不方便,這時我們就可以依賴Git來開啟三條分支,A在A的分支裡面做他自己的東西,B在B的分支裡面做他的開發,C也是類似這樣,各做各的,最後當他們三個人的程式碼功能都開發完畢後,再把他們做的分支進行合併,就是把功能一、二、三都合併到一起,這樣整個專案就完成了,相互之間你不干擾我,我不干擾你,是不是感覺世界多麼美好?預設情況下,git會幫你自動建立一個master的分支,這個就是主分支,我們之前操作的程式碼版本就都是這個分支上面操作的,一般地master是作為最核心最重要的分支使用的,專案所有程式碼都在裡面。接下來我們開始學習如何建立更多的分支。

在這裡插入圖片描述分支在實際中有什麼用呢?假設你準備開發一個新功能,但是需要兩週才能完成,第一週你寫了50%的程式碼,如果立刻提交,由於程式碼還沒寫完,不完整的程式碼庫會導致別人不能幹活了。如果等程式碼全部寫完再一次提交,又存在丟失每天進度的巨大風險。

現在有了分支,就不用怕了。你建立了一個屬於你自己的分支,別人看不到,還繼續在原來的分支上正常工作,而你在自己的分支上幹活,想提交就提交,直到開發完畢後,再一次性合併到原來的分支上,這樣,既安全,又不影響別人工作。

在這裡插入圖片描述

git  init  //初始化git倉庫  這裡我們可以建立一個目錄(理解為存放東西的倉庫) git  init就是把這個目錄初始化成git倉庫


在這裡插入圖片描述git status 命令用於檢視在你上次提交之後是否有對檔案進行再次修改。

git log 檢視提交歷史記錄

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述

在這裡插入圖片描述上面我說錯了,當我提交到暫存區以後使用git diff沒有內容了(相當於我把檔案已經移動到暫存區了,工作區已經和上次沒有什麼區別了)
在這裡插入圖片描述
git diff head //把工作區和暫存區進行對比

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
如何建立分支,合併分支,解決分支之前的衝突是我們要考慮的問題。

git branch //用來檢視當前分支

git branch dev //建立一個叫做dev的分支

在這裡插入圖片描述在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述在這裡插入圖片描述
在這裡插入圖片描述

Git管理程式碼:分支使用(五) - fangfang的文章 - 知乎
https://zhuanlan.zhihu.com/p/58348436

相關文章