Вытащить - не получить файл - PullRequest
0 голосов
/ 25 августа 2018

Я использую Tortoisegit.

Я делаю Pull, но я не получаю файл из удаленного репозитория.

Ниже приведены шаги, которые я делаю:

1) Dit Git Clone Получил репозиторий на мой локальный диск

2) Удалил один файл вручную (НЕ используя опцию удаления из Tortoise)

3) Выполнение 'Pull' с помощью Tortosegit, ноЯ получаю файл, который я удалил

Tortoisegit возвращается с успехом ..

git.exe pull --progress -v --no-rebase "WB" master

From https://github.com/wb/WBR_01
* branch            master     -> FETCH_HEAD
= [up to date]      master     -> WB/master
Already up to date.

Success (2406 ms @ 25/08/2018 21:02:51)

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

Спасибо

Ответы [ 3 ]

0 голосов
/ 26 августа 2018

Git pull включает изменения из удаленного филиала в ваш локальный филиал. В вашем случае у вас нет новых коммитов в удаленной ветке.

Если вы используете TortoiseGit и хотите вернуть удаленный файл, вам нужно использовать « Revert » в родительской папке (или диалоге фиксации или состояния репозитория). Щелкните правой кнопкой мыши, чтобы открыть контекстное меню, а затем выберите команду TortoiseGit → Вернуть. Появится диалоговое окно, показывающее файлы, которые вы удалили (или изменили) и можете восстановить (или восстановить). Выберите те, которые вы хотите восстановить (или восстановить), и нажмите OK.

0 голосов
/ 26 августа 2018

Вы должны различать историю коммитов Git и изменения в вашем локальном рабочем каталоге. Оба могут сосуществовать в одном и том же хранилище и не обязательно должны оказывать влияние на другое.

Что вы сделали, так это удалили файл, не сообщая об этом Git. Если вы сделаете git status, он покажет вам:

changes not staged for commit:
    deleted: path/to/your/deleted/file

Когда вы делаете git pull, Git сначала извлекает все удаленные коммиты, а затем пытается объединить их с вашей локальной веткой (либо с помощью реального коммита слияния, либо с помощью ускоренной перемотки вперед). Из вывода, который вы опубликовали, нет новых коммитов на пульте, поэтому ничего не произойдет (ваш файл все еще удален, но вы не сказали Git об этом).

Поскольку суть вашего вопроса заключается в том, как вернуть файл в ваш рабочий каталог, есть два варианта:

  1. Использование git checkout -- path/to/your/deleted/file

    git checkout можно использовать для перемещения в разные ветви, но также можно использовать для проверки конкретной версии файла. В вашем случае, версия на HEAD (текущий извлеченный коммит).

  2. Используйте git reset --hard HEAD, чтобы уничтожить все локальные изменения. Осторожно, для этой операции нет отменить .

0 голосов
/ 25 августа 2018

Когда вы извлекаете, ваш git-клиент подключается к настроенному удаленному и извлекает все новые коммиты (выборки), а затем пытается применить их к вашей локальной ветке (объединить).

В вашем случае нет новых коммитов и, следовательно, нечего менять.

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

...