現在插播一個git的操作部落格
從git是什麼 git的安裝 使用什麼的 開始寫起 篇幅會非常長 但是git說到底就是一個代碼托管倉庫 其中常用的重點會着重标出來
其實想學git的同學應該也知道git就是代碼托管倉庫 然後是平時用來協作開發的 那既然是這樣 電腦不可能都有網呀 是以倉庫會有本地倉庫和遠端倉庫
是以用git進行團隊開發 流程一般是這樣的 是以我們的學習 肯定是了解完git後 學習在git中完成這些操作的指令是什麼 然後就是熟練的使用這些指令(代碼托管倉庫不止git一個呀 比如svn什麼的 我大學就了解過)
1.從遠端倉庫中克隆或拉取代碼到本地倉庫(clone/pull)
2.從本地進行代碼修改
3.在送出前先将代碼送出到暫存區
4.送出到本地倉庫。本地倉庫中儲存修改的各個曆史版本
5.修改完成後,需要和團隊成員共享代碼時,将代碼push到遠端倉庫
好了 開始正文吧
版本管理工具的特性一般有
1、記錄曆史版本、回退曆史版本
2、團隊開發中,友善合并代碼
版本控制工具用svn和git來說一下
svn的缺點其實也是git的優勢
git的安裝 在網上搜尋git 然後去官網下載下傳自己電腦對應的版本 一步一步的安裝即可 我搜了以下 網站是 https://git-scm.com/ 下載下傳頁面是 https://git-scm.com/downloads (restful風格的網址 很舒服)
這篇部落格寫的時候 版本是 2.31.1
git是指令行操作 也有可視化的操作 比如 tortoisegit這個工具 網上搜尋就行 網址是 https://tortoisegit.org/ 下載下傳頁面是 https://tortoisegit.org/download/ 下載下傳對應版本的就行 tortoisegit提供了中文漢化包 下載下傳對應的就行
先安裝git 路徑可以改自己想要的路徑 然後安裝tortoisegit這個工具 雖然指令行高大上 但是 能可視化提高效率還是可視化占優勢對吧 然後點選安裝你下載下傳的漢化包 也是下一步下一步就行
如果git的路徑改了 那麼安裝tortoisegit這個工具的時候 要把安裝步驟中git的啟動bin路徑改一下 這點要注意
如果都完成後 那麼 在檔案夾中右擊應該是這樣的
然後進入tortoisegit的設定 把中文改一下 然後再重新進入一次 語言就改成中文啦
先說下git的工作流程 使用對應的指令也就是完成git的一次工作流程
遠端倉庫在遠端 比如GitHub 本地倉庫 工作區 和 暫存區都是在我們的本機上 是以我們先從本機操作開始學習git
我們在本地工作區 就是寫代碼的地方寫好代碼 要先送出到本地的暫存區 然後送出到本地倉庫 在 push到遠端
下面是例子
首先建立一個檔案夾 然後右擊 在這個檔案夾下建立一個版本庫
比如說我是在gittest這個檔案夾下測試
建立完成就會這樣 (這是一個隐藏的檔案夾 需要打開設定 檢視隐藏的項目才行)
工作區的意思就是目前.git檔案夾所在的檔案夾 就是我們的工作區
比如說我們建立一個辭職申請.docx
接下來要把這個檔案送出到暫存區
我們使用tortoisegit進行操作 對這個檔案進行右擊 或者檔案夾空白處右擊都行 找到 tortoisegit這個工具的添加選項
然後點選添加
就完成了
這就已經添加到暫存區了 一般來說做完操作的檔案圖示會有個變化 比如添加完 檔案圖示上有個藍色的+号 但是我的沒有 因為我電腦裝完沒有重新開機 如果你們重新開機了 應該會有的
如果你沒點确定 點的是送出 那麼會把這個暫存區的檔案再次送出到本地倉庫
接下來 我們再把這個暫存區的檔案送出到本地倉庫 同樣是右鍵
點選送出到master master就是主分支的意思 因為一個項目開發可能是多個分支同時開始 最後合并的 首次會讓你填寫名稱和郵箱
然後會讓你填寫日志資訊 這個是一定要填的 比如你寫了什麼代碼 代碼什麼功能 要說清楚
這就完成了推送到本地倉庫 此時點選關閉就關閉了 點選推送那麼就是推送到遠端倉庫
好了 大家可以多試試這個過程 工作區 ---》暫存區---》本地倉庫
比如我又添加 送出了一個辭職申請第二版
建立倉庫的方式不止這一種 使用git gui也可以建立
建立一個檔案夾 然後點選git gui here 按照提示點選 就建立了一個倉庫了
其次我們也可以使用指令行來建立試試
還是建立一個檔案夾 然後在檔案夾下面右擊 點選git bash here
指令是 git init
就好了 我們要不就用可視化工具 要麼就指令行 先把工具用熟 再去學指令
回到剛剛那個檔案夾 我又建立了一個檔案 辭職申請.txt 然後添加到暫存區 送出到本地檔案
在本地倉庫已經有的情況下 怎麼更新呢
比如在辭職申請.txt 裡面添加了一句話
這是我們修改了一個檔案 我們隻要再送出到本地倉庫就行了
那麼我們就把更新内容送出到了本地倉庫 為什麼這裡不添加到暫存區 因為這個檔案之前已經被添加到暫存區 然後被送出到本地倉庫 是以這個檔案已經被git接管了 是以直接送出到本地倉庫即可
我電腦沒重新開機 是以檔案圖示沒改變 一般來說 圖示狀态有
比如建立了一個檔案 這個檔案還沒有被納入git版本控制 而隻要送出到了暫存區 那麼都屬于第二種 被納入到了git的版本控制 是以接下來隻要送出到本地倉庫即可
現在來看一下怎麼對比差異
我們對着辭職申請.txt 右擊 用tortoisegit工具檢視對比差異
左邊就是本地倉庫中的版本 而右邊是我剛剛添加了一行字 是以是目前的工作區版本
檢視日志 我們要看一下送出過的日志
我們在檔案夾右擊 通過tortoisegit工具 檢視日志
就是這樣 剛剛操作過的日志在這裡 我們可以把滑鼠移到操作圖示上
也可以看到這個圖示的意思是什麼
沒有送出到暫存區的檔案沒有被納入到git版本管理 是以是不會顯示資訊的
知道了檢視曆史版本 那麼怎麼回退到曆史版本呢
還是進入到檢視日志界面 在想要退回的版本上點選
比如我想回到上個版本 那麼 點選重置master到此版本
這裡選擇硬重置 就是會删除一些這個版本之後的一些檔案什麼的
這就完成了 再打開看一下
此時檔案内容回去了
再看一下日志
日志變成這樣了 也就是版本回退了
删除操作 删除也是一樣的 要把删除操作送出到本地倉庫 才算是納入了git的版本控制 才算是真正的删除
比如我删除了那個檔案 然後右鍵送出到master 就會出現這個
到這裡 才算是删除了 可以看看日志 也是有這個操作的
删除也可以保留本地檔案 但是删除本地倉庫中檔案 意思也就是說 我不想要這個檔案被版本控制了 但是我還想在硬碟中留下這個檔案 那麼就
在那個檔案右擊删除并保留本地副本 當然了 做完這個操作 還是要送出到本地倉庫才能生效的
誤删除也是可以恢複的 但是前提是要被納入git的版本控制 比如 誤删了 辭職申請.txt 那麼右鍵點選還原即可
這裡說一下忽略送出 因為一個項目裡面的檔案很多 有許多檔案是不需要送出的 是以可以給git添加一些忽略資訊什麼的
比如說配置.iinn 這個檔案是不需要被送出的
将iinn結尾的都添加到忽略清單
此時會産生上述的檔案 檔案内容如上
此時 我們再添加送出 git都不會把這種檔案納入版本管理了
這個部落格寫的實在是太長了 是以還是分成幾個部分吧 下一個部分是分支管理之類的