fetch только считывает изменения, но не подтягивает их.
pull - вытягивает коммиты из удаленной репы.
fetch именно подтягивает все изменения из внешнего репозитория в локальный.
pull включает в себя fetch, плюс к этому обновит текущую локальную ветку и извлечет актуальные файлы в рабочий каталог, если в нем нет незакоммиченных изменений.
Семен, индекс это черновик коммита, поэтому он очень даже может быть пустым.
Гит статус сравнивает файлы в рабочем каталоге с файлами в репозитории, чтобы узнать что изменилось.
Когда мы переключаемся на ветку, Git переключается на указатель HEAD этой ветки
Вы не поняли что такое ветка. Нет, ветка в гите это уже указатель на некоторый коммит в цепочке коммитов.
Указатель HEAD в репозитории один, и он показывает какое состояние в данный момент распаковано в рабочем каталоге. Соответственно у веток нет собственного указателя HEAD.
Когда мы переключаемся на ветку
Перед переключением на другую ветку и вообще на другое состояние, желательно убедиться, что ваш рабочий каталог чист. В том смысле, что нет незакоммиченных изменений файлов. Также желательно чтобы индекс был вообще пуст. В противном случае гит будет пытаться сохранить вашу незакоммиченную работу. Он не будет молча удалять то, что вы ещё не закоммитили.
Программ для работы с разделами, в том числе для миграции компа на новый винт, сейчас развелось вагон и маленькая тележка. Мы ими пользуемся ещё со времен MS DOS. Когда то единственным инструментом были Powerquest Partition Magic и Norton Ghost. Потом появились хорошие программы от Acronis и Paragon.
Сейчас считаю идеальным вариантом продукты OAMEI, у них даже есть бесплатные варианты, которых для домашнего компа более чем достаточно. И интерфейс приятный.
Clonezilla тоже бесплатен, но он под Linux, поэтому придется заморачиваться с загрузочной флешкой.
практически все файлы сконцентрированы в одной папке.
Такое будет тормозить весь компьютер в целом, а не только гит. Не спроста же обьекты внутри папки репозитория раскидываются в двухбуквенные подкаталоги. Как раз по этой причине.
Я не считаю Проводник файловым менеджером и практически не пользуюсь им. Поэтому гит-клиент в виде примочки к проводнику даже не рассматривал. FAR Manager или Midnight Commander — наше всё
В своё время нужно было работать с файлами в однобитной кодировке win-1251 и оказалось, что единственный клиент который умел отображать такие файлы это SmartGit.
Самому гиту эти кодировки по барабану, он хранит байты. Проблема лишь в корректном выводе на экран. Не все клиенты с этим справляются, даже родной консольный клиент не переваривает однобитные подировки при выводе в консоль.
И ещё я не понимаю страсть некоторых команд в придумывании заковыристых и очень длинных названий веток. Название ветки на самом деле ничего не значит и должно быть максимально коротким. Оно всё равно нигде не сохранится в итоге. Лучше пишите подробности задачи в сообщениях коммитов.
А можно текст показать а не картинку. Вообще же ничего не разглядеть.