2017-01-10 9 views
0

У меня есть большой проект с закрытым запросом на слияние. В запросе о слиянии есть ссылки на все коммиты, которые были связаны с объединением. После слияния соответствующий филиал был удален.Установить git SHA вручную/обновить GitLab фиксировать ссылки для архивного слияния

Из-за перезагрузки фиксация SHA в запрошенном архиве слияния больше не совпадает с запросами на главной ветке (или в любых доступных в данный момент ветвях), и я хотел бы иметь соответствующие ссылки.

Мои вопросы:

Могу ли я вручную настроить мерзавец совершающие SHA, и если да, то каким образом?

Если нет, могу ли я скорректировать ссылку фиксации (GitLab), чтобы запрос на слияние теперь указывал на недавно вычисленные фиксации SHA?

ответ

2

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

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

0

Я не знаю, есть ли у меня свой основной вопрос, который:

1 Ваш объединенный филиал был удален 2 Ваш слиты коммит был нормированный 3 вы хотите совершить слияние ссылку на коммит на удаленный филиал ?

Если вы удалили объединенную ветку на локальном компьютере, вы можете попробовать git reflog, чтобы вернуть последнее коммит, но если действие произошло достаточно долго и было нажато на сервер, то вы его не сделаете.

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