Недавно я создал ветку release
, в которой я объединил все отмеченные коммиты. Цель состоит в том, чтобы переименовать master
в develop
затем использовать master
как release
ветви (ГИТ-поток, как)Избегайте елки в Git log --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
?
Не могли бы вы дать простой пример вашей '[*]' замечания? Я думаю, это ответ, который я ищу, но я хотел бы воспроизвести его в тестовом репозитории. – nowox
Контур похож: из какой-то базовой версии 'B' шаги должны быть похожими: 1) совершить что-то, 2) создать ветку' b1', 3) сбрасывать на 'B', повторять 1-3 несколько раз, создавая ветки b2, b3 и т. Д. ., 4) сбросить в 'B', 5) слить' b1', 'b2' ..., 6) создать ветвь' merge1', repeat 4,5, 7) создать ветвь 'merge2'. – max630
Что вы подразумеваете под «reset to B»? 'git checkout master; git commit; git checkout -b b1; git reset head ~ 1; мерзавец; git commit'. Это ничего не сделает. – nowox