Есть такая вещь, как ГИТ тянуть --сух-бежать
, чтобы увидеть, как вещи будут объединены, прежде чем он портит мое рабочее дерево?
Сейчас я делаю:
git fetch origin && git merge --no-commit --no-ff
Я не вижу ничего в MAN-странице для 'ГИТ-тянуть' связанные с ним.
Чтобы уточнить, мне просто нужно это в Ant-сценарий для развертывания, чтобы увидеть, если есть конфликты, когда делаешь ГИТ тянуть
, а затем от выхода из строят, не развертывания и оставить дерево каталогов то же было раньше ГИТ тянуть
.
Я всегда полагался на врожденные способности ЖКТ, чтобы меня вернуть, если слияние не удается.
Чтобы оценить, как слияние может произойти, вы можете начать, как ты с:
$ git fetch origin branch # Fetch changes, but don't merge
$ git diff HEAD..origin/branch # Diff your current head to the fetched commit
... personal judgement of potential merge conflicts ...
$ git merge origin/branch # merge with the fetched commit
Если дела не идут как запланировано, посмотри на свой reflog и восстановить до нужного состояния:
$ git reflog
...
abc987 HEAD@{0}: merge activity
b58aae8 HEAD@{1}: fetch origin/branch
8f3a362 HEAD@{2}: activity before the fetch
...
$ git reset --hard HEAD{2}
Вам нужно принести сначала обновите местного происхождения/мастер
git fetch origin
Тогда вы можете сделать:
git diff --name-only origin/master
Будет список файлов которые были изменены.
git diff origin/master directory_foo/file_bar.m
Список построчно дифф файла directory_foo/file_bar.м.
# fetch new commits from origin
$ git fetch
# check what are the differences and judge if safe to apply
$ git diff origin/master
# actually merge the fetched commits
$ git pull
Смотрите мой ответ на этот же вопрос:
это идет в ~/.файл gitconfig хранит настройки
:
[alias]
diffpull=!git fetch && git diff HEAD..@{u}