Git говорит, что файл был удален, но не позволит вытянуть - PullRequest
0 голосов
/ 18 октября 2018

У меня запущены окна, я попытался вытащить ветку master проекта и получил это, я боюсь, что мастер сломан.Любая помощь будет принята с благодарностью.

PS C:\Users\Name\source\work\PROJ\PROJ> git status
HEAD detached at 274a1c9
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    "PROJ.API/c:\\temp\\internal-nlog.txt"

no changes added to commit (use "git add" and/or "git commit -a")
PS C:\Users\Name\source\work\PROJ\PROJ> git rm PROJ.API/C:\\temp\\internal-nlog.txt

, когда я пытаюсь поставить ее на место, я получаю:

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

@ Кевин, ты в отстраненном состоянии.

Вы хотите сохранить internal-nlog.txt file?

В любом случае, это, вероятно, самый простой способ продвижения вперед:

1.Сохраните текущие изменения:

git stash

Вы скрыли внесенные изменения (т. Е. Вы удалили файл internal-nlog).Вы можете получить его позже, если хотите.

2.Перейдите в главную ветку

git checkout master

И все должно работать нормально.

0 голосов
/ 18 октября 2018

Предположительно, кто-то в Unix добавил файл, который не является допустимым именем файла в Windows.Пока этот файл существует в репозитории, git status на вашем компьютере будет показывать этот «удаленный» файл.Судя по названию, похоже, что это было ошибкой, поэтому вы можете удалить ее:

git update-index --force-remove "PROJ.API/c:\\temp\\internal-nlog.txt"

Хотя я не совсем уверен, как PowerShell будет справляться с обратными слешами.Вы также можете попытаться создать текстовый файл filename.txt, чья единственная строка - это имя файла, и сделать:

Get-Content filename.txt | git update-index --force-remove --stdin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...