Git: проверьте возможные конфликты перед фиксацией или отправкой в ​​удаленный репозиторий

Исходя из Subversion, я привык к «svn status -u», чтобы проверить, не возникнут ли конфликты, прежде чем проверять удаленное репо.

Можно ли сделать это таким же простым способом с помощью GIT? предпочтительнее перед совершением на месте.


person user2733007    schedule 30.08.2013    source источник


Ответы (1)


Вот один из способов сделать это. Сначала получите любые изменения с пульта дистанционного управления:

git fetch <remote>

Теперь предположим, что вы внесли незафиксированные изменения в master и хотите увидеть, что изменилось в <remote>/master. Тогда просто используйте следующее:

git diff --name-status master <remote>/master

Это покажет список измененных файлов вместе с их статусом.

Теперь, если вы действительно зафиксировали изменения в своем локальном master и хотите увидеть, что может потенциально конфликтовать, вы можете просто выполнить слияние локально, чтобы попробовать его, а затем сбросить его обратно на прежнее место, если вам не нравится Результаты:

git checkout master
git merge <remote>/master

# Don't like the results, reset
git reset --hard head^

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

person Community    schedule 31.08.2013