簡體   English   中英

這個 git 日志 output 顯示兩個分支,就好像它們不是分支一樣? 請解釋

[英]This git log output shows two branches as if they weren't branches? Please explain

feature/XY是功能分支的名稱,當前已簽出。 feature/XY-refactor是另一個分支的名稱,它從feature/XY分支出來。

當我運行git log --oneline時,我得到下面的 output。 這兩個在日志 output 的最頂部一個接一個是什么意思? 我在 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

這可能意味着很多事情,因為您運行的git log命令僅顯示按時間順序排列的提交列表,但不顯示它們的關系。

要查看提交之間的關系,請使用--graph開關,該開關特別適用於--oneline

git log --oneline --graph

例如,如果feature/XY-refactor在提交3e747c9支,您可能會看到以下內容:

$ 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

我說“可能”,因為您不能僅根據時間順序做出假設。 真正的圖表可以改為:

$ git log --oneline

* 9feb11a (HEAD -> feature/XY, origin/feature/XY) Axis labels
* 87d49c1 Fix typoe
* 6a8a7c7 Fix print statement
* 945ffca Fix code layout
| * d250b90 (feature/XY-refactor) Refactored
|/
* 3e747c9 Added spaces after comma
* b143713 Changed fontsize
* a669cd4 Commented out a print statement
// .. more commits

當您使用--graph時,它可能會重新排序提交以制作更清晰的圖表。

git log --graph存在一個缺陷:當您有兩個或多個不共享公共根提交的單獨提交歷史時,它並不明顯。 但根據你所說的,這不太可能是你的情況。

無論如何,您始終可以查看任何特定參考或“承諾”的歷史記錄。 例如嘗試這些命令:

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 HEAD <some other branch name>

最后一個將給出導致 HEAD 和<some other branch name>的所有提交的圖表,顯示它們之間的任何連接。

作為獎勵,這里有一個更詳細的git log命令,顯示日期、時間和作者:

git log --graph --pretty=format:'%C(yellow)%h%Creset %Cgreen(%cd) %C(bold blue)<%an>%Creset %C(red)%d%Creset %s' --all

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM