Скажем, у меня есть ветвь с функциями, в которую я объединять восходящие изменения до того, как вернуть мои изменения обратно:
git branch feature1
... [edit my code]
... [commit]
git fetch origin master
git merge fetch_head [or rebase]
... [resolve conflicts]
... [build and test code]
В этот момент я хочу подтолкнуть свои изменения. Обычный способ сделать это:
git checkout master [changes a bunch of working tree files]
git merge feature1 [changes the same files right back]
Это отлично работает, но заставит компилятор (проверяющий дату) подумать, что целая куча файлов загрязнена и нуждается в перестройке, даже если содержимое одного и того же. Есть ли способ checkout-and-merge, который оставляет рабочее дерево неизменным в этом случае?
Что-то вроде:
git checkout master --merge-branch feature1
EDIT:
Я говорю только о быстрых слияниях, которые по определению не изменят состояние файлов.