Как я могу отменить эту команду "git status --porcelain | grep '^ ??' | cut -c4- >> .gitignore "? - PullRequest
3 голосов
/ 30 мая 2019

Чтобы постоянно игнорировать неотслеживаемые файлы, я запустил команду

git status --porcelain | grep '^??' | cut -c4- >> .gitignore

.Теперь, когда я добавляю новый файл в свой код, он не отображается в состоянии git.

Ответы [ 2 ]

4 голосов
/ 31 мая 2019

Вы перезаписали свой .gitignore данными ваших измененных файлов. Вывод git status --porcelain не имеет значения в синтаксисе .gitignore.

Вам нужно восстановить свой .gitignore. Самый простой способ - если у вас нет локальных, не зафиксированных изменений - это

git checkout -- .gitignore
1 голос
/ 04 июня 2019

Если вы все равно хотите добавить свои файлы, у вас есть несколько вариантов:

  • используйте git add -f file, чтобы игнорировать .gitignore и все равно добавить файл
  • отредактируйте файл .gitignore, чтобы удалить строки, которые нельзя игнорировать

Если вы хотите отменить изменения, которые были применены к .gitignore: просто отредактируйте файл (с помощью текстового редактора).

[anycommand] >> .gitignore просто добавляет вывод [anycommand] в конец файла;
Вы должны быть в состоянии определить раздел со всеми файлами, перечисленными:

git status --porcelain | grep '^??' | cut -c4-

и просто удалите этот раздел.


В любом случае, вам, вероятно, следует изменить файл .gitignore, поэтому не принято игнорировать длинный список определенных файлов.

  • если вы действительно хотите игнорировать каждый неотслеживаемый файл (текущий и будущий), установите для .gitignore значение:

    # ignore everything
    *
    

    вы все еще можете добавлять новые файлы, используя git add -f

  • если вы хотите игнорировать определенные папки, просто назовите эти папки:

    # ignore the "tmp/" and "build/" directories :
    tmp/
    build/
    

Подробная документация: см. git help ignore

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...