Git Commit Tree Browser

cover

原文地址:https://wyiyi.github.io/amber/2024/04/01/git-commit-tree/


description: "安利一個小工具:Git 倉庫 Commit 文件樹查看器。"
date: 2024.03.31 10:34
categories:
- Git
tags: [Git, Shell]
keywords: git, bash, tree, commit, browser, repo, terminal


痛點

Git項目中夸楣,代碼的頻繁迭代會使得追蹤項目文件結構變化的過程異常艱難宾抓,尤其是歷史 commit 中存在、當前最新版本中已經(jīng)不存在的文件/文件夾豫喧。

為了解決這個問題洞慎,Git Commit Tree Browser 提供了一個高效的解決方案。

簡介

Git Commit Tree Browser 是基于Bash的腳本工具嘿棘,通過為每個 commit 生成文件目錄樹,并配備交互式的瀏覽界面旭绒,可視化展示 Git 倉庫各個 commit 狀態(tài)下的文件樹結構鸟妙。

效果

demo

功能特點

  • 為指定 Git 倉庫中每個 commit 生成文件目錄樹文件
  • 提供終端交互界面,通過左右箭頭鍵切換查看不同 commit 的文件目錄樹狀態(tài)挥吵;按回車后激活跳轉到指定 commit 模式重父,輸入 commit ID(加文件擴展名 .txt)完成跳轉

使用方法

前置條件

  1. 工具使用 Bash 腳本實現(xiàn),需可執(zhí)行 Bash 腳本的終端環(huán)境(Windows 操作系統(tǒng)可在 Git Bash 中使用)
  2. 工具依賴 tree 命令生成文件樹結構忽匈,如終端中無法使用需提前安裝(Windows 用戶可以在 Git Bash 中安裝 Tree for Windows

執(zhí)行 prepare.sh 腳本

執(zhí)行 prepare.sh 腳本房午,傳入 Git 倉庫的路徑作為參數(shù):

$ git clone https://github.com/AlphaHinex/git-commit-tree-browser
$ cd git-commit-tree-browser
$ ./prepare.sh /path/to/your/git/repo

腳本將遍歷指定 Git 倉庫的所有 commit,并為每個 commit 在當前路徑生成文件目錄樹文本文件 <commit_id>.txt丹允。

當前生成目錄樹使用的命令是 tree -N -d -L 3郭厌,即只顯示文件夾,最多顯示三級路徑雕蔽≌勰可根據(jù)實際需要進行調整。

執(zhí)行 browser.sh 腳本

執(zhí)行 browser.sh 腳本批狐,開始按 commit 從老到新的順序進行文件目錄樹瀏覽:

$ ./browser.sh

終端中將顯示第一個commit的文件目錄樹扇售,如:

File: 20df792.txt
.
|-- bronze
|   |-- gradle
|   |   `-- wrapper
|   `-- src
|       |-- main
|       `-- test
`-- git-commit-tree-browser

7 directories
20df792
Press left/right arrow to navigate, or Enter to jump to a file:

可以使用以下方式導航:

  • 使用左右箭頭鍵在不同的 commit 之間切換
  • Enter 鍵,然后輸入 <commit_id>.txt 文件名嚣艇,直接跳轉到特定的commit

小工具會繼續(xù)豐富功能承冰,請期待~~~

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市食零,隨后出現(xiàn)的幾起案子困乒,更是在濱河造成了極大的恐慌,老刑警劉巖贰谣,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顶燕,死亡現(xiàn)場離奇詭異凑保,居然都是意外死亡,警方通過查閱死者的電腦和手機涌攻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進店門欧引,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恳谎,你說我怎么就攤上這事芝此。” “怎么了因痛?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵婚苹,是天一觀的道長。 經(jīng)常有香客問我鸵膏,道長膊升,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任谭企,我火速辦了婚禮廓译,結果婚禮上,老公的妹妹穿的比我還像新娘债查。我一直安慰自己非区,他們只是感情好,可當我...
    茶點故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布盹廷。 她就那樣靜靜地躺著征绸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪俄占。 梳的紋絲不亂的頭發(fā)上管怠,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天,我揣著相機與錄音缸榄,去河邊找鬼排惨。 笑死,一個胖子當著我的面吹牛碰凶,可吹牛的內容都是我干的暮芭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼欲低,長吁一口氣:“原來是場噩夢啊……” “哼辕宏!你這毒婦竟也來了?” 一聲冷哼從身側響起砾莱,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤瑞筐,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后腊瑟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體聚假,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡块蚌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了膘格。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峭范。...
    茶點故事閱讀 38,617評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瘪贱,靈堂內的尸體忽然破棺而出纱控,到底是詐尸還是另有隱情,我是刑警寧澤菜秦,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布甜害,位于F島的核電站,受9級特大地震影響球昨,放射性物質發(fā)生泄漏尔店。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一主慰、第九天 我趴在偏房一處隱蔽的房頂上張望嚣州。 院中可真熱鬧,春花似錦河哑、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鲤妥,卻和暖如春佳吞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背棉安。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工底扳, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人贡耽。 一個月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓衷模,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蒲赂。 傳聞我的和親對象是個殘疾皇子阱冶,可洞房花燭夜當晚...
    茶點故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內容