簡體   English   中英

將git存儲庫中的所有提交轉換為順序命名的分支?

[英]Convert all commits in a git repository to branches named sequentially?

我試圖找出一個巨大的代碼庫。

通常我跑

git log

然后,我為每個提交創建一個分支,並依次調查每個提交。 有沒有一種方法可以為每個提交創建一個分支並按順序命名它們,例如01、02 ... etc。

這個bash腳本可以解決問題,為每個提交創建一個從B1開始的名為B n的分支。 我假設您不想執行整個回購交易,但需要執行A..B范圍(不包括A,包括B),我在此處將其任意設置為HEAD〜10..HEAD。

A=HEAD~10
B=HEAD
counter=0
for commit in `git rev-list --reverse $A..$B`; do
   counter=$((counter + 1))
   git branch B$counter $commit
done

注意使用--reverse :如果沒有它,此循環會將分支B1分配給最新提交; 使用它,循環將B1分配給最早的提交。

現在,如果要標記當前分支中的所有提交,請將for行替換for

for commit in `git rev-list --reverse`; do

如果要標記所有提交的回購協議,在每一個分支,使用for線:

for commit in `git rev-list --reverse --all`; do

暫無
暫無

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

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