Git學習系列-Git基本概念
本系列基於Pro Git介紹如何使用Git進行源代碼管理,以及後期如何使用Git進行項目管理。
系列初步目錄如下:
1. Git基本概念
2. Git分支操作
後續待定。
Git的歷史就不在這裏進行介紹了,網上隨處都可以找到,以下是在使用Git的時候的一些基本概念和方法
Git有三種狀態,文件可能處於其中之一:已提交(Committed)、已修改(modified)和已暫存(staged).已提交表示數據已經安全的保存在本地數據庫中。已修改表示已經修改了文件,但還沒有保存在數據庫中。已暫存表示對一個已修改文件的當前版本做了標記,使之包含現在下次提交的快照中。 由此引入Git項目的三個工作區域的概念:Git倉庫、工作目錄以及暫存區域git config --global user.name "John Doe" git config --global user.email [email protected]
git config --list查看GIt的所有配置信息或是使用git config <key>來查看特定的信息初始化倉庫
git init向倉庫中添加文件並提交
1 git add *.c 2 git add README 3 git commit -m "initial project"記錄更新到倉庫 使用Git的時候文件的生命周期如下: 檢查當前文件狀態
1 git status
跟蹤新文件
git add 文件名 此時文件處於stage狀態暫存已修改的文件
git add 已修改的文件, 此時文件處於stage狀態
git checkout — <文件名> 會將已經修改的文件但是並沒有提交到緩沖區的文件重置為原來的狀態將處於緩沖區的文件重置到工作區
git reset HEAD <文件名> 或是 git reset <文件名>使用忽略文件 .gitignore,具體規則如下:
- 所有空行或者以#開頭的行都會被Git忽略;
- 可以使用glob模式匹配;
- 匹配模式可以以(/)開頭防止遞歸;
- 匹配模式可以以(/)結尾指定目錄;
- 要忽略指定模式以外的文件或目錄,可以在模式前加上驚嘆號(!)取反
# no .a file *.a #but do track lib.a, even though you’re ignoring .a files above !lib.a # only ignore TODO file in the currency directory, not subdir /TODO /TODO #ignore all files in the build/ dictionary build/ #ignore doc/notes.txt, but not doc/server/arch.txt doc/*.txt #ignore all .pdf files in the doc/ directory dic/**/*.pdfgit diff命令比較的是工作目錄中當前文件和暫存區域之間的差異,也就是修改之後還沒有暫存起來的內容的變化。若要查看已暫存的將要添加到下次提交的內容,可以使用git diff--cached命令或是git diff —staged 跳過使用暫存區域 在使用git commit進行提交修改的時候,可以使用命令參數-a從而跳過將修改提交到暫存區,直接提交到版本庫中,從而省略git add的過程 查看提交歷史 通過使用git log命令可以查看之間提交的歷史,使用-p參數顯示每次提交的差異。另外一個常用的選項是git log —pretty=oneline將每個提交都在一行的形式進行顯示。下面是git log的常用選項
選項 | 說明 |
-p | 按補丁形式顯示每個更新之間的差異 |
--stat | 顯示每次更新的文件修改統計信息 |
--shortstat | 只顯—stat中最後的行數修改添加移除統計 |
--name-only | 僅在提交信息後顯示已修改的文件清單 |
--name-status | 顯示新增、修改、刪除的文件清單 |
--abbrev-commit | 僅顯示SHA-1的前幾個字符,而非所有的40字符 |
--relative-date | 使用較短的相對時間顯示 |
--graph | 顯示ASCII圖形便是德分支合並歷史 |
--pretty | 使用其他格式顯示歷史提交信息。可用的選項包括online、short、full、fuller和format |
git commit -m “Init Repo” git add forgotten_file git commit —amend最終只會有一個提交,第二次提交將替換第一次的提交 標簽操作 列出現在已有的標簽: git tag. 可以使用特定的模式來查看特定的標簽,例如:git tag -l “v1.1” Git使用兩種主要標簽:輕量標簽(lightweight)和附註標簽(annotated),一個輕量標簽只是一次提交的引用,附註標簽是存儲在Git數據庫中的一個對象,包含創建者,時間等信息,因此推薦使用附註標簽。 使用git tag -a v1.4 -m “my version 1.4”來創建附註標簽,使用命令git show來顯示標簽的相關信息。直接使用git tag v1.4來創建輕量標簽。也可以對之前的某個提交打標簽,使用命令git tag -a v1.4 9fceb02 檢出標簽 使用命令git checkout -b [branchname] [tagname]在特定的標簽上創建一個新分支
Git學習系列-Git基本概念