廖雪峯老師git教程筆記(1)

git的安裝我是從網上查的,當然廖大的教程裏面也有詳細的介紹。安裝完git之後,不要忘記配置名字和郵箱,你可以給你機器上所有的倉庫進行一致的配置,也可以對某個倉庫進行單獨配置。我的配置如下:
git config --global user.name "Mcrea"
git config --global user.email "[email protected]"
之後,我們就可以進行下一步了。

首先,我們需要創建一個版本庫repository,在這個repository中,git管理着所有的文件的過去和將來。創建的過程很簡單,只要在一個提前準備好的空目錄下輸入git init命令即可。版本庫建好之後,我們之後對文件的操作都在這個版本庫中進行。不過因爲git只能跟蹤純文本文件的改動,所以廖大建議使用Notepad++來編輯和修改文件,爲避免字符編碼可能帶來的麻煩,使用UTF-8編碼。

添加和提交

有了版本庫之後呢,我們可以編寫一個文件,隨意在裏面寫點什麼代碼。然後使用git add file將文件添加到版本庫的暫存區中,當然你可以重複這個命令添加任意個文件。之後呢使用git commit -m "some notes"一次性將暫存區所有的文件提交到當前分支。這裏的暫存區和當前分支的意思之後會進行講解。
git status命令可以用來查看版本庫中文件的狀態。什麼狀態呢?一個文件從編輯到提交到當前分支需要經過兩步,即git add和git commit。在執行這兩步前後,文件會有三個狀態:一編輯or修改未添加,二添加未提交和三已提交。使用git status命令查看的就是每個文件在這三個狀態的哪一個。特別的,如果文件在狀態一中,我們可以通過git diff來查看文件中修改的詳情。確保無誤後進行添加和提交的操作。
版本回退
類似於我們小時候玩過的存儲卡遊戲,比如重裝機兵(認真臉)。我們通過存儲按鈕來存儲遊戲的進度。這樣當我們剎羽而歸的時候,我們可以主動或者被動的讀取某個記憶點的進度。從而可以保證我們仍然擁有一個較高的開局而不是前功盡棄從頭開始。git也有類似存儲記憶點的功能,它的記憶點叫做快照,也就是commit。當我們誤操作之後,我們可以從快照中讀取文件從新來過。而不是變得一無所有。
如果很不幸的進行了誤操作,別慌。首先使用git log命令來查看提交日誌。它會展示出每次提交的commit id(版本號,十六進制)姓名和郵箱、日期和備註。可以在git log命令後加上 --pretty=oneline參數讓它只顯示版本號和備註。
然後重點來了,該如何回退到心儀的版本呢?首先來了解一個單詞HEAD。在這裏這個單詞代表當前版本,它實際上是一個指針,永遠指向當前版本。(後面有一個指向當前分支的指針,也叫HEAD)回退版本的命令是git reset,參數就是版本號,當然也可以用HEAD^ or HEAD~100,表示往上一個版本或者100個版本。假如,只是假如,你回退之後又不想回退了該怎麼辦呢?只要你能找到未來那個版本的版本號。一樣可以用git reset回到未來。說到底,這個命令並沒有歷史和未來的感覺,它只是將HEAD指針指向了你想要的版本,這樣你想要的版本就成了當前的版本。最後說一下git reflog這個命令,它可以記錄你的每一次關乎版本的命令,其中就包括了git commit命令。在其中你可以找到該次git commit命令的commit id。bingo~總結一下,勤commit就不愁誤操作了。隨時reset。
工作區和暫存區
工作區:按照廖大的意思,我理解是repository中可見的部分。
版本庫:同樣按照廖大的意思,我的理解是repository中不可見的部分。
顯然,工作區存放着文件,供我們編輯、修改等等。而版本庫則存放着很多東西,其中包括接下來要講到的stage暫存區和master分支以及指向master分支的HEAD指針。
還記得之前的git add 和 git commit命令嗎?所謂將文件修改添加到倉庫,實質就是將文件修改添加至暫存區。而git commit就是將暫存區的文件修改提交到當前分支上去。提交完成後,暫存區清空。此時查看git status,顯示working directory clean。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章