Git pre-commit hook, который предотвращает коммит, если есть восходящие изменения - PullRequest
0 голосов
/ 11 сентября 2018

Скажем, я работаю над feature/foo ... разве нет способа предотвратить коммит мерзавца, если есть изменения в remotes/origin/feature/foo?

Есть ли какое-либо преимущество при внесении изменений перед выполнением нового коммита?

Единственное, о чем я могу думать, это заставить нас использовать git stash, объединить изменения (возможно, с меньшим количеством конфликтов, чем в противном случае), а затем использовать git stash apply?

1 Ответ

0 голосов
/ 11 сентября 2018

Указатель на ваш вопрос: в принципе вы можете получить состояние удаленного хранилища с помощью git fetch. Эта команда возвращает удаленное состояние и обновляет ветку origin/feature/foo. Вы должны быть в состоянии использовать это, чтобы построить желаемый крючок.

НО! В принципе, вы просто пытаетесь воссоздать ситуацию, когда вы используете git как subversion. Большим преимуществом git является то, что вы можете делать коммиты совершенно независимо от удаленного репозитория. (Например, делайте коммиты и используйте их, чтобы вернуться, если вы делаете ошибки, когда находитесь в офлайне глубоко внутри нарнии или чего-то еще)

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

Так что я думаю, что решить эту проблему с помощью ловушки фиксации - не лучший способ.

...