Git(全局信息追蹤器)。 Git是一個分佈式版本控制工具,Git的使用中央倉庫不是必須的,用戶本地就是一個完整的版本倉庫,代碼的前進、回退、刪除等等操做均可以直接在本地進行,不須要中央倉庫。可是,在實際操做中,爲了可以和其餘同事快速溝通以及合併代碼,通常仍是會搭建一箇中央倉庫。Git對分支的管理很是友好,能夠快速建立或者合併分支。 Svn集中式的版本控制工具,Svn中,必需要有中央倉庫,全部的版本信息都保存在中央倉庫中,代碼的前進、回退、刪除等等操做都須要在中央倉庫中進行,用戶本地保存的只是版本倉庫的一個副本,Svn中的分支很是臃腫。linux
打開窗口輸入命令以下windows
git config --global user.name "xn" git config --global user.email "xn@143.com"
將目錄切換到你建立的文件夾下 分佈式
經過git init命令把這個目錄變成Git能夠管理的倉庫,建立成功後在該文件夾下會多出一個.git的文件夾。工具
git init
Git目錄是用來來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄裏面的文件,否則改亂了,就把Git倉庫給破壞了3d
添加文件到版本庫版本控制
git add heelo.txt
commit -m的-m後面跟的是本次操做的備註說明信息。最好是有意義的,也就是下次看到這個說明就清楚提交了什麼內容。指針
爲何Git添加文件須要add,commit一共兩步呢?由於commit能夠一次提交不少文件,因此你能夠屢次add不一樣的文件日誌
$ git add file1.txt $ git add file2.txt file3.txt $ git commit -m "add files"
命令 | 說明 |
---|---|
git status | 說明 |
git diff | 是difference的簡寫是用來查看文件的變化的 (工做區和版本庫) |
前面命令告訴咱們hello文件修改了,可是尚未提交code
後面命令看到咱們對這文件作了什麼修改
it status告訴咱們,將要被提交的修改包括hello,下一步,就能夠放心地提交了
Git告訴咱們當前沒有須要提交的修改,並且,工做目錄是乾淨(working tree clean)的 | 命令 |說明 | |--|--| | git status | 查看當前庫的狀態,add以前和commit以前均可以查看狀態| | git diff 文件名| 查看文件修改先後的變化,在add命令以前執行|
剛剛咱們對read.txt文件執行兩次操做,咱們還能記得住咱們作了什麼操做,可是當咱們操做了一段時間後,修改的愈來愈多,那麼咱們就會忘記不少之前的操做。這時咱們能夠經過log命令來查看歷史信息 git log命令顯示從最近到最遠的提交日誌,每條日誌信息佔了五行記錄,若是日誌比較多的狀況下。咱們能夠在命令後添加 –pretty=oneline單行來顯示日誌信息 提示‘27492ed2ca…’這一長串的信息既是版本號
執行這個命令回退到上一次提交的版本
版本回退其實就是指針的改變。有時候咱們想要回退到之前的最新版本,這時候log命令查看不到對應的版本號,在次場景下咱們能夠經過git reflog來查看 小結: HEAD指向的版本就是當前版本,所以,Git容許咱們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。 切換前,用git log能夠查看提交歷史,以便肯定要回退到哪一個版本。 要切換將來,用git reflog查看命令歷史,以便肯定要回到將來的哪一個版本。