鍍金池/ 教程/ Java/ 歷史
創(chuàng)建沖突
暫存更改
創(chuàng)建項(xiàng)目
Git 內(nèi)幕:.git 目錄
撤銷本地更改
移動(dòng)文件
移除 oops 標(biāo)簽
何為 Origin
再談結(jié)構(gòu)
撤銷暫存的更改
修正提交
別名
檢查狀態(tài)
給版本打標(biāo)簽
撤銷提交的更改
拉下共享的更改
變基
暫存與提交
合并
合并拉下的更改
更改而非文件
更改原始倉庫
重置 master 分支
回顧克隆的倉庫
變基 VS 合并
共享倉庫
導(dǎo)航分支
重置 greet 分支
添加跟蹤的分支
獲得舊版本
克隆倉庫
Git 內(nèi)幕:直接處理 Git 對(duì)象
再談設(shè)置
遠(yuǎn)程分支
從分支移除提交
合并回 master
查看分叉的分支
添加遠(yuǎn)程倉庫
拉下更改
歷史
在 master 中更改
裸倉庫
做更改
高級(jí)/將來的主題
推送更改
多個(gè)倉庫
設(shè)置
提交更改
取得更改
托管你的 Git 倉庫
創(chuàng)建分支
解決沖突

歷史

目的

學(xué)習(xí)如何查看項(xiàng)目的歷史。

獲得已經(jīng)做過的更改清單是 git log 命令的功能。

$ git log

你應(yīng)該看到:

$ git log
commit 1f7ec5eaa8f37c2770dae3b984c55a1531fcc9e7
Author: Jim Weirich <jim (at) neo.com>
Date:   Sat Apr 13 15:20:42 2013 -0400

    Added a comment

commit 582495ae59ca91bca156a3372a72f88f6261698b
Author: Jim Weirich <jim (at) neo.com>
Date:   Sat Apr 13 15:20:42 2013 -0400

    Added a default value

commit 323e28d99a07d404c04f27eb6e415d4b8ab1d615
Author: Jim Weirich <jim (at) neo.com>
Date:   Sat Apr 13 15:20:42 2013 -0400

    Using ARGV

commit 94164160adf8faa3119b409fcfcd13d0a0eb8020
Author: Jim Weirich <jim (at) neo.com>
Date:   Sat Apr 13 15:20:42 2013 -0400

    First Commit

這份清單是迄今為止我們對(duì)倉庫所作的總共 4 次提交。

單行歷史

你可以很好的控制處理 log 命令要精確顯示的內(nèi)容。我喜歡單行格式:

$ git log --pretty=oneline

你應(yīng)該看到:

$ git log --pretty=oneline
1f7ec5eaa8f37c2770dae3b984c55a1531fcc9e7 Added a comment
582495ae59ca91bca156a3372a72f88f6261698b Added a default value
323e28d99a07d404c04f27eb6e415d4b8ab1d615 Using ARGV
94164160adf8faa3119b409fcfcd13d0a0eb8020 First Commit

控制顯示哪個(gè)條目

log 命令有許多選項(xiàng)用來選擇顯示哪個(gè)條目。玩玩下面的選項(xiàng):

$ git log --pretty=oneline --max-count=2
$ git log --pretty=oneline --since='5 minutes ago'
$ git log --pretty=oneline --until='5 minutes ago'
$ git log --pretty=oneline --author=<your name>
$ git log --pretty=oneline --all

參閱 man git-log 了解更多細(xì)節(jié)。

更加漂亮

這是我用來復(fù)查上周所做更改的命令。如果我只想看自己所作的更改,那么我將添加 --author=jim。

$ git log --all --pretty=format:'%h %cd %s (%an)' --since='7 days ago'

終極日志格式

隨著時(shí)間的推移,我發(fā)現(xiàn)在工作時(shí)最喜歡下列日志格式。

$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short'

它看起來像這樣:

$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
* 1f7ec5e 2013-04-13 | Added a comment (HEAD, master) [Jim Weirich]
* 582495a 2013-04-13 | Added a default value [Jim Weirich]
* 323e28d 2013-04-13 | Using ARGV [Jim Weirich]
* 9416416 2013-04-13 | First Commit [Jim Weirich]

讓我們看一下細(xì)節(jié):

  • --pretty="..." 定義輸出的格式
  • %h 是提交 hash 的縮寫
  • %d 是提交的裝飾(如分支頭或標(biāo)簽)
  • %ad 是創(chuàng)作日期
  • %s 是注釋
  • %an 是作者姓名
  • --graph 使用 ASCII 圖形布局顯示提交樹
  • --date=short 保留日期格式更好且更短

其它工具

gitx (Mac) 和 gitk (任意平臺(tái)) 在瀏覽日志歷史時(shí)十分有用。

上一篇:暫存與提交下一篇:撤銷提交的更改