使用git管理源码之文件状态和工作区理解
2019獨角獸企業重金招聘Python工程師標準>>>
這次主要是介紹一下,在git管理中,不同文件在不同狀態所處于不同位置的原理。
首先先盜圖一張(ps:圖片來源于http://git.oschina.net/progit/,本系列博客致力于讀者快速理解git中的部分知識,也同時鞏固自身知識,所以會適當的引用部分來源于progit這本書的相關資料,僅供學習交流,以后再作使用,不做相同申明)。
從圖中我們可以清晰的看到,文件具有以下幾種狀態。
untracked(未跟蹤狀態)
unmodified(未修改狀態)
modified(已修改狀態)
staged(已暫存狀態)
首先要理解一下工作區和本地倉庫的概念。工作區是你對文件進行操作的空間,該目錄也稱之為工作目錄。本地倉庫為你commit你本地代碼之后git工具保存你歷史版本代碼的倉庫。
那么應該如何理解這幾種狀態在哪些場景中會出現呢?下面我使用相應的命令來具體的講解一下。
1. 當你新增加了一個文件或者刪除了某個文件,這里的新增加是指,在你以往的倉庫歷史中你從來沒有存在過。這時候文件的狀態就是untracked狀態
通過git add <file>命令將未跟蹤的進行跟蹤,通過該命令該文件的狀態會變成已暫存狀態(ps:上圖中顯示的是會變成未修改狀態,經過實際操作實際上是直接變為已暫存狀態,其實自身理解上來也是如此)。
2. 當你新建一個分支時并且切換到新分支時,以及commit你當前工作區中的代碼到本地倉庫時,現在的文件狀態稱之為unmodified狀態
如以下命令會使文件出入unmodified狀態
git?checkout?-b?test?該命令等于先執行?git?branch?test?再執行git?checkout?testgit?commit3. 當你對某個文件做出了修改,該文件就會處于modified狀態,該狀態比較好理解。
4. 如之前提到的,對未跟蹤文件進行跟蹤會使文件出入暫存狀態,同樣對已修改文件進行
git?add?<file>命令同樣會使文件處于已暫存狀態。當你的工作區中出現了多個未跟蹤狀態的文件以及多個已修改狀態的文件時,假如你確定所有文件是你正確狀態下做出的添加和修改。你可以通過以下命令將所有文件一次性的修改為已暫存狀態
git?add?-A轉載于:https://my.oschina.net/u/2004332/blog/415209
總結
以上是生活随笔為你收集整理的使用git管理源码之文件状态和工作区理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Lexus Extroic OpenCa
- 下一篇: Spark集群模式概述