公司正式使用Git來管理代碼到現在已經三四個月了,趁自己還算熟手,記錄和分享一下Git的使用(會涉及正式開發中的使用方法,當然,各人還是會有各自的使用方法啦,并不是千篇一律)
介紹Git是一款基于linux的版本控制工具,目前大多數公司使用的版本控制工具一般還是使用Subversion(SVN)來進行代碼疊代管理、文檔管理等。
而Git與其最大的區别就在于,其分布式版本庫的特點,在服務端和客戶端都擁有完整的版本庫,就算脫離了服務端,客戶端也可以照樣進行版本管理,開發者可以通過clone在本地生成一個完整的git倉庫,也就是可以提交到本地,再和其他開發者進行合并比較,最終提交到遠端倉庫上。這也實現了show log查看曆史,compare版本比較都不需要訪問服務器
下面簡單介紹下Git的一些基本的使用和命令,之後将基于GitLab進行一個真正開發過程中的Git使用簡述。
特點在使用Git進行版本控制的時候,需要了解一點,Git的内部流程機制雖然複雜,涉及到了多個點,從工作區、到暫存區、本地倉庫、遠端倉庫,感覺起來操作會複雜,但Git的正常使用都可以使用一些友好的腳本來進行,來使它更适合我們的工作。若不想使用腳本語言,也可以通過圖形化工具來進行,比如我們比較熟悉的小烏龜的Git版本——TortoiseGit。
Git流程
祭出(珍藏的?!)幾張便于理解的圖:
No.1選手
可以看到,在一次Git操作中會涉及到這幾個庫:
工作區是我們電腦上的那個代碼目錄,如這裡的mrpc,就是工作區;
.git目錄,便是我們所說的Git版本庫,裡面存儲了很多東西,如我們的提交記錄,版本信息等,其中就包括了 暫存區 這個小東西,在工作中,我們一般會将要提交的東西先提交到其中,最後再一次性提交到遠程倉庫。
No.2選手
這裡代表了我們提交和更新的流程。
可見我們提交的時候,我們需要先把要提交的文件add到我們的暫存區中,再通過commit把暫存區裡面所有的待提交文件一次性提交到本地倉庫,這兩個步驟是可以多次進行的,最終再将本地倉庫裡的待提交文件提交至遠端倉庫上。
而更新的時候,有兩種方式可以選擇:
1、git fetch git merge:這兩個命令的組合使用,可以實現将遠端倉庫的更新内容更新下來,并合并到自己的本地倉庫上,也就是說fetch不會幫你把代碼合并到你的代碼上,需要通過merge命令來進行。
2、git pull:這個命令比起1來說,粗暴、簡單,就是直接幫你把fetch和merge一起做了,一次性到位,若出現更新後沖突,再在自己本地倉庫上逐個解決。
No.3選手
說完提交/更新的流程,再來說一下,一個我們必不可少的朋友:回退
前面我們說過,Git的一個特點是它可以在客戶端進行版本比較,也意味着你可以在本地就進行回退代碼,如圖所示,我們通過git reset來進行回退,而這一部是在本地倉庫進行的,不需要與遠端進行交互。
後續
這裡我們先介紹下git的基本流程,對git有一定的理解後,接下來就開始介紹下其他信息~
——沒事待在家裡不出門的 居家程序員。(我不想脫發!)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!