Git не будет синхронизировать файл только на одной конкретной машине

Проблема в следующем.

Код моей команды находится на bitbucket.org

Я клонировал репозиторий на моей машине, чтобы он стал локальным и

git log

Показывает все коммиты правильно, но у меня есть один файл с одной конкретной строкой кода, который просто не появляется (и коммит, который изменил его, присутствует в git log).

git reset --hard <sha>

Где хэш коммита с этой строкой измененного кода не меняет его.

Я проверил источник в веб-интерфейсе, и эта строка кода есть. Я клонировал репо на другом устройстве и оно есть. Проблема возникает только на этой машине.

Я создал несколько локальных веток и заставил их отслеживать удаленные ветки, и этот файл просто не синхронизирован с ними.

Я использую эту строку кода для сравнения, но я не уверен, что ошибок не больше, чем эта.

Я использовал для установки и сброса прокси-сервера на этом компьютере с помощью команд:

git config --global http.proxy http://<user>:<pass>@<server>:<port>

git config --global --unset http.proxy

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

1 ответ

Убедитесь, что этот файл не был изменен локально, запустив git status и убедившись, что его нет в списке.

Тогда, если вы точно знаете, как выглядит линия, вы должны бежать,

git log -S<snippet> /path/to/file 

идентифицировать коммиты, которые изменили, добавили или удалили строку. (В качестве альтернативы вы можете просто запустить, git log /path/to/file чтобы вручную просмотреть все коммиты, которые каким-либо образом изменили файл.)

Работайте со списком коммитов, просматривая изменения, внесенные каждым коммитом. Например, вы можете запустить git diff <commit-sha>^! -- <file> обращая внимание на +/- то есть, какие строки были добавлены и какие строки были удалены.

Другие вопросы по тегам