Короче, git pull срабатывает так, как и должен.
Он не восстанавливает файлы, он сливает чужие изменения в Ваши.
Для восстановления, я уже написал, git checkout HEAD path/to/deleted/file.txt (HEAD - указатель на коммит, из которого берётся состояние файла)
Какие-то странные манипуляции. Для возврата файла можно использовать checkout или reset.
pull ничего не делает, если у Вас актуальное состояние хранилища.
Можно ссылку на урок и время, когда это показывается?
Тогда советую почитать руководство по Git.
Для отправки изменений в другое хранилище используется git push (git commit перед этим), для получения изменений git pull.
Вы делаете второе - но так как удаленное хранилище никто, кроме Вас не трогал, Git ничего не обновляет.
Вам ничего менять не надо.
SSH не поможет (см. изначальный ответ), ему нужно сделать git clone https://bitbucket.org/myusername/repo.git, введя свои данные.
Из-за того, что Вы дали ему URL с логином, Git не спрашивает у него логин, а пытается подключиться с указанным, то есть с Вашим.
Пусть посмотрит у себя в .git/config файле, там есть адрес удаленного хранилища в секции [remote "origin"], если хранилище склонировано.
Либо пусть заново склонирует с нужным URL без user@
Нет.
Перебазирование (rebase) пока можно не рассматривать, раз Вы новичок.
Слияние (merge) - это внесение изменений друга в Ваши файлы (ветку), при пересечении изменений (Вы меняли одно и то же место в одном файле) возникают конфликты.
Что у Вас в файле после попытки pull? Там должны быть конфликтные маркеры (<<< === >>>), Вам нужно вручную разрешить конфликты, сохранить файл, добавить его в индекс и сделать коммит (что завершит merge-операцию).
Иван Пантелеев: на самом деле, это значит "не показывать новые (ещё не отслеживаемые) файлы в изменениях рабочего дерева", чтобы они не мешались.
Автоматически Git новые (неигнорируемые) файлы в хранилище не добавляет.
По идее, git pull - это и есть fetch + merge, но можно и так попробовать.
-s recursive избыточно, так как recursive - это и так стратегия по умолчанию.
Он не восстанавливает файлы, он сливает чужие изменения в Ваши.
Для восстановления, я уже написал, git checkout HEAD path/to/deleted/file.txt (HEAD - указатель на коммит, из которого берётся состояние файла)