скажем, что мой коллега Джон создал филиал под названием «john». У Джона есть 10 коммиттов. Когда дело доходит до слияния с мастером, они просят меня слить.Как объединить филиал и сохранить авторство
Это то, что я делаю
git checkout -b john origin/john
git rebase master
git checkout master
git merge john --squashed
git add .
git commit -m 'merged branch john'
Однако теперь, что происходит, что это мой идентификатор против слиты фиксации. И позже люди спрашивают меня, почему я изменил определенную часть кода.
Как свернуть все comitts в ветке john в один коммит, чтобы Джон был автором. Я думаю, git совершить интерактивный может помочь, но не может понять.
, так что я мог бы легко откинуть назад, так как после раздавливания это одно единственное обязательство, которое нужно отбросить назад. Если я не раздачу, тогда будет 10 коммит для отката, если не будет лучшего способа. –
Как отмечалось в ответе mfontani, если вы объедините --no-ff, будет записано слияние, и если вы откатите его, то он будет иметь тот же эффект, что и откат сжатого фиксации, но с добавленной выгодой записи полной истории фиксации. –
Одной из причин, чтобы сделать слитное склеивание, является то, что иногда люди совершают кучу разбитых состояний на свою ветку, что делает сложнее bisect, но окончательная ветвь в порядке, а иногда ветка имеет только одного автора. – xenoterracide