1
我最近創建了一個release
分支,我在其中合併了所有標記的提交。我們的目標是重命名master
爲develop
然後用master
作爲release
分支(如Git流)避免Git日誌中的聖誕樹--all
現在,當我git log --all
顯示我的完整的日誌,我得到一個美妙的聖誕樹不是真的很有幫助。
* | e503add 10 days ago
| * a2948b1 11 days ago
| |\
| * \ b22e247 3 weeks ago
| |\ \
| * \ \ 01f1ebc 4 weeks ago
| |\ \ \
| * \ \ \ 01336c7 4 weeks ago
| |\ \ \ \
| * \ \ \ \ 59f83a8 5 weeks ago
| |\ \ \ \ \
| * \ \ \ \ \ 25a2444 6 weeks ago
| |\ \ \ \ \ \
| * \ \ \ \ \ \ 4271ae9 6 weeks ago
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ ef62400 8 weeks ago
| |\ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ f56aa1e 2 months ago
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ 7fdab4a 4 months ago
| |\ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ b25d101 4 months ago
| |\ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ 7477021 6 months ago
| |\ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ 8b166b4 8 months ago
| |\ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ 93be56f 9 months ago
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ 7b28785 1 year, 4 months ago
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 4aaa409 1 year, 4 months ago
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 4cab662 1 year, 5 months ago
| |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 996564a 1 year, 6 months ago
一種解決方案是使用git log --date-order
而不是默認的--topo-order
的。但是我無法真正解釋爲什麼我會得到這樣的日誌。
#!/bin/bash
set -e
git checkout -b release $first-tag
for tag in "${tags[@]}"
do
date=$(git show -s --format="%ad" $(git log -n1 --format=%h $tag))
export GIT_AUTHOR_DATE=$date;
export GIT_COMMITTER_DATE=$date;
git merge -Xtheirs -m $tag $tag
git tag --delete $tag
git tag -a -m $tag $tag
done
我怎樣才能避免這種--topo-order
聖誕樹:
我用這個shell腳本創建了發佈分支?
您能給你'[*]'句話的一個簡單的例子?我想這是我正在尋找的答案,但我想先在測試存儲庫中重現它。 – nowox
概述如下:從一些基本的修訂版'B'步驟應該是這樣的:1)提交一些東西,2)創建分支'b1',3)重置爲'B',重複1-3幾次創建分支b2,b3等。,4)重置爲'B',5)合併'b1','b2' ...,6)創建分支'merge1',重複4,5,7)創建分支'merge2'。 – max630
「重置爲B」是什麼意思? 'git checkout master; git commit; git checkout -b b1; git reset head〜1; git的; git commit'。這將不會做任何事情 – nowox