2013-07-16 2 views
0

Я создал мастер ветвь, как это:Просмотр длинный список моих фиксаций на ветку

git branch -u MyMasterBranch origin/MyMasterBranch 

и я создал другие ветви от так:

git checkout MyMasterBranch 
git checkout -b myJIRAbranch-1 

и работали над те, которые меньше myJIRAbranch-1 филиалов и объединили их в конце MyMasterBranch с git merge --squashmyJIRAbranch-1

Теперь я хочу найти числа фиксации git для t шланг сливается, что я сделал из своих ветвей JIRA в MyMasterBranch?

Что хорошего для этого? что дает мне чистый и приятный отчет?

+0

не использовать --squash, если вы заинтересованы в истории – mnagel

ответ

2

Как указано в хронике, информация об отдельных фиксациях не может быть восстановлена ​​напрямую, если вы не указали --log при использовании git merge --squash. В последнем случае вы можете видеть, что хэши SHA1 отдельных коммитов в сжатых сообщениях фиксации и должны иметь возможность извлекать коммиты, используя эти хеши.

Если нет, мы можем считать исходные ветви потерянными. Несколько вопросов на этом сайте уже решить эту проблему:

Подводя итог, git reflog и git log -g ваши друзья. Все решения предполагают, что у вас все еще есть доступ к вашему хранилищу разработки (там, где находятся отдельные коммиты) и что коммиты не являются «слишком старыми» (иначе git gc, возможно, их безотзывно очистили).

1

не думаю, что это возможно. Вы сказали git лгать о слияниях, и это произошло. Git не сохраняет любая информация о слитии, если вы используете --squash.

Взаимодействие слияния в настоящее время практически невозможно. Вы можете написать скрипт, который делает некоторые догадки - получить каждый разницу в мастер и попытаться найти те же изменения в jira. Это, очевидно, не даст надежных результатов, но это лучшее, что я могу придумать. Для этого нет встроенной команды git.

+0

Вы уверены? Я использовал инструмент SourceTree GUI, и это вроде покажет мне цифры git commit. ,,, потратил на это много времени, но при быстром просмотре я заметил, что я заметил –

+0

Я предполагаю, что «git commit numbers» означает SHA? И что такое «вид показа»? Я предполагаю, что вы говорите о том, что SourceTree показывает вам SHA комманды, которую вы сейчас просматриваете, что совсем не помогает вам здесь. Если есть только один родительский коммит, git не знает о слиянии. – Chronial

Смежные вопросы