feature/XY是功能分支的名稱,當前已檢出。feature/XY-refactor是另一個分支的名稱,從feature/XY.
當我運行時git log --oneline,我得到下面的輸出。這兩個在日志輸出的最頂部一個接一個地正確是什么意思?我在 Windows 上使用 git bash。
user@host ~/Documents/repo (feature/XY)
$ git log --oneline
9feb11a (HEAD -> feature/XY, origin/feature/XY) Axis labels
d250b90 (feature/XY-refactor) Refactored
87d49c1 Fix typoe
6a8a7c7 Fix print statement
945ffca Fix code layout
3e747c9 Added spaces after comma
b143713 Changed fontsize
a669cd4 Commented out a print statement
// .. more commits
uj5u.com熱心網友回復:
git log將回傳從特定提交或一組提交(即指定提交的歷史記錄)可到達的所有提交。當您不指定提交時,它默認為HEAD.
所以你有效地運行了git log --oneline HEAD它相當于git log --oneline feature/XY(檢出的分支)。
因此,您的git log結果告訴您,您的feature/XY分支將分支9feb11a的最后一次提交作為其父級(如果是合并提交,則是其父級之一)feature/XY-refactor。換句話說,feature/XY-refactor分支已經合并成feature/XY一種或另一種方式。
git log按時間順序顯示提交串列,但不顯示它們的確切關系。要查看它,請使用--graph開關,它特別適用于--oneline:
git log --oneline --graph
例如,如果feature/XY-refactor在 commit 處分支3e747c9,然后feature/XY在完成任何單獨的作業之前合并,feature/XY您將看到以下內容:
$ git log --oneline --graph
* 9feb11a (HEAD -> feature/XY, origin/feature/XY) Axis labels
|\
| * d250b90 (feature/XY-refactor) Refactored
| * 87d49c1 Fix typoe
| * 6a8a7c7 Fix print statement
| * 945ffca Fix code layout
|/
* 3e747c9 Added spaces after comma
* b143713 Changed fontsize
* a669cd4 Commented out a print statement
// .. more commits
或者,如果feature/XY重新基于feature/XY-refactor,您將看到以下內容:
$ git log --oneline --graph
* 9feb11a (HEAD -> feature/XY, origin/feature/XY) Axis labels
* d250b90 (feature/XY-refactor) Refactored
* 87d49c1 Fix typoe
* 6a8a7c7 Fix print statement
* 945ffca Fix code layout
* 3e747c9 Added spaces after comma
* b143713 Changed fontsize
* a669cd4 Commented out a print statement
// .. more commits
當您使用 時--graph,它可能會重新排序提交以制作更清晰的圖表。
有一個缺陷git log --graph:當您有兩個或多個不共享公共根提交的單獨提交歷史時,它并不明顯。但根據你所說的,這不太可能是你的情況。
無論如何,您始終可以通過將任何特定參考或“提交”作為 arg 提供給git log. 試試這些命令:
git log --online --graph feature/XY
git log --online --graph feature/XY-refactor
git log --online --graph HEAD
git log --online --graph 6a8a7c7
如果您想查看兩個或多個分支之間的關系:
git log --online --graph <branch a> <branch b> ...
如果您想查看所有分支:
git log --online --graph --all
作為獎勵,這里有一個更詳細的git log命令,顯示日期、時間和作者:
git log --graph --pretty=format:'%C(yellow)%h%Creset %Cgreen(
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378145.html
標籤:混帐 git-log git-history-graph
上一篇:Git拉取指定分支沒有任何更改?
