記錄學習過程,由於不懂,好奇害死貓啊,覺得會了clone 就能開搞,誰知實踐中,各類衝突,So, 起名克隆哥以自嘲,由於遇到衝突我只能一遍又一遍的clone。如今靜下心來好好看看,忽然發現這是個強大的工具,帶你時光穿梭,管理文檔遊刃有餘啊。ios
1 GIT工具安裝忽略不計,網上文章一把一把的,竊喜,Xcode集成了。git
2 作簡單的配置,Git不喜歡你匿名提交文檔,So給本身起個名字吧。app
3 建立工做目錄,初始化倉庫。工具
倉庫初始化完畢後會反饋信息,咱們查看文件內容多了一個.git ,這玩意就是記錄咱們工做日誌用的。不要隨便修改這個,不然你會破壞倉庫。學習
4 工做目錄添加文件,記錄索引,提交數據到工做區。spa
工做目錄添加新文件後,git 會自動檢索發生的變化,使用git status 來查看狀態,git 提示你有個文件未被追蹤,沒有被追蹤意味着你對該文件的修改git是不會記錄的。使用git add file 添加文件追蹤,細心你會發現git 提示你 使用git rm –cache file 來移除對這個文件的追蹤。日誌
5 繼續添加文字,更新提交,練習一下。code
當修改文檔的時候,git 會檢索你文件的變化。咱們依然按照前面方式提交代碼。首先git add file 或者直接使用git add . 來添加索引,以後提交添加描述信息。索引
6 查看提交日誌。ip
提交了這麼多,想看看歷史提交記錄,使用git log 來輸出提交歷史記錄。如上所示,信息顯示了提交版本號,做者啊,郵箱啊,這就是第一步咱們配置的那兩個,還有提交日期,描述信息啥的。很清楚,若是以爲這樣顯示亂,能夠添加參數–pretty=oneline 用一行來顯示一個簡短的信息。
7 時光穿梭,版本回退,從20世紀回到19世紀。
計劃改變,今天開發的功能不要了,版本須要回退到上一次提交的時候,咋辦,沒事,git幫你解決。使用git reset –hard HEAD^ 輕鬆帶你從20世紀穿越到19世紀。HEAD^是上一個版本,HEAD^^是上兩個版本,上一個百個呢,不會100個^吧,呵呵 可使用HEAD~100,或者你知道版本號,直接填寫對應的版本號。
8 改變主意,新開發的功能不錯,仍是留着吧,沒問題,把你從19世紀帶回來。
回退以後,經理又說,別刪了,這功能既然開發了就留着吧。我靠 運行git log 發現開發完後提交的那個信息並無記錄在日誌中,慘了白整了,呵呵還好,我這個窗口沒關,往上翻翻能找到提交新功能是提交的版本號,ok 那就帶我回到20世紀吧,git reset –hard cdbda2ed 刷的一下,回來了,驚喜。
9 很遺憾,次日老闆通知我,昨天開發的那個功能加上,痛哭……..
爲何昨天不說,爲何昨天不說,窗口都關了,我哪裏找去。莫急,別擔憂,有git 啥都不怕,使用git reflog 他會記錄commit 和 reset的全部歷史操做。看着顯示的版本號,頓時忐忑的心情平靜下來,那就恢復吧,git reset –hard cdbda2e 搞定,我又回到了20世紀,竊喜中。
複習一下:
至此,簡單的使用git來提交記錄,版本回退你已經學會了,很簡單。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
/
/
/
$
git
config
--
global
user
.name
"kingxl"
/
/配置用戶名
$
git
config
--
global
user
.email
"ios@itjoy.org"
/
/配置郵箱
$
git
init
/
/倉庫初始化
$
git
status
/
/查看狀態
$
git
add
study
.txt
/
/添加追蹤文件
索引記錄
$
git
rm
--
cached
study
.txt
/
/移除某文件的追蹤
$
git
commit
-
m
"add new file"
/
/添加描述信息,講暫存區數據提交到工做區
$
git
log
/
/提交日誌
$
git
log
--
pretty
=
oneline
/
/一行顯示提交日誌
$
git
reset
--
hard
HEAD
^
/
/版本回退
須要版本號
$
git
reflog
/
/
commit
reset
的歷史記錄
/
/
/
|