2015-11-13 4 views
7

Я работаю с общим проектом, используя git для управления версиями. Я нахожусь в окнах, пока мой партнер находится в Unix.Git pull invalid Имена файлов Windows

Мой партнер назвал некоторые файлы с <file1>.txt. Когда я пытаюсь вытащить эти файлы, они не принимаются, так как < и > являются недопустимыми символами для Windows. Это нормально, мне не нужно прикасаться к файлам. Однако они добавляются к моему фиксации как удаленные. Поэтому, если я нажму, то я удалю эти файлы, которые я не хочу делать.

  1. Я не могу использовать git reset --hard, как он находит неверный путь для каждого из этих «удаленных» файлов.

  2. Есть ли способ исключить эти файлы из моих поручений? Я пробовал добавить <file1> к моему .git/info/exclude, но это не сработало.

+1

Как эти файлы появлялись в вашей фиксации? Вы делали 'git commit -a' или' git add .'? Вы хотите изменить свою фиксацию или хотите просто удалить эти файлы из индекса? – Paul

+0

Я лично попросил изменить имена с помощью 'git mv', и после этого вы сможете выполнить принудительное нажатие, но это личное предпочтение. Это простое решение, так как это позволит вам редактировать эти файлы, а не делать что-либо с ними. –

+0

В качестве альтернативы сделайте это самостоятельно: установите пакет 'git' (и любые его требуемые зависимости) с помощью установщика Cygwin, перейдите в каталог проверки в терминале Cygwin (например,' cd/cygdrive/c/Users/Nryan6/projects/FooBar'), [тянуть снова (возможно, переписывание локальных изменений, нажмите для получения дополнительной информации)] (http://stackoverflow.com/a/8888015/539810), 'git mv \ .txt file1.txt' (сделать то же самое для любых других файлов), а также совершить и нажать. Cygwin переводит U + 003C ('<') и U + 003E ('>') в U + F03C и U + F03E, которые Windows разрешит, но Cygwin увидит их как обычные символы '<' and '>'. –

ответ

1

Игнорирование не помогает, если файлы уже отслеживаются.

Используйте Sparse checkout, чтобы пропустить эти файлы.

+1

Кто-нибудь получил это на работу? – mvndaai