Как остановить git от нажатия локального файла, который был зафиксирован - PullRequest
0 голосов
/ 02 февраля 2019

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

Недавно я создал шаблон фляги и python, который я 'Я хотел бы публично разместить на GitHub, но я не хочу, чтобы он включал Thinking.py, потому что он содержит мои личные комментарии.

Я добавил Thinking.py к своему .git/info/exclude, но когда я загрузилпроект для gihub, файл Thinking.py все еще обнаружился.

Обратите внимание, что Thinking.py был включен в предыдущие коммиты до того, как я отредактировал .git/info/exclude.

Как я могу сделать так, чтобыничего о Thinking.py не загружено на GitHub, но все изменения и фиксации с Thinking.py остаются такими же, как на моем компьютере?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

Git не загружает файлы .Git push совершает .Если файл находится в каком-то коммите, и вы нажимаете коммит, они получают файл.Если вы не отправите этот коммит, у них, возможно, уже есть файл, но они не получат его с тем коммитом, который вы не проталкиваете.

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

Если вам нужно удалитьфайл из существующих коммитов, вы также должны удалить сами коммиты, потому что ни один коммит не может быть когда-либо , ни один бит.Полностью удалить их нелегко, но это можно сделать .Возможно, вам понадобятся новые и улучшенные коммиты, которые вы можете использовать вместо старых коммитов, в которых был файл.делать это в автоматическом режиме - делать это вручную - неинтересно - вы, вероятно, захотите использовать git filter-branch, очень сложную команду Git с сумасшедшим количеством опций, которая может многое сделать с репозиторием,или BFG , инструмент Java, который делает очень ограниченное подмножество того, что делает git filter-branch, но намного быстрее и более удобен для пользователя. См. Множество вопросов StackOverflow о BFG.

0 голосов
/ 02 февраля 2019

Обновляется ли файл Thinking.py также git в соответствии с последними изменениями?Исходя из вашего вопроса, я думаю, что файл Thinking.py в GitHub является просто результатом ваших предыдущих коммитов и в любом случае не содержит новейших изменений.

Вы можете попытаться полностью избавиться от файла (Убедитесь, чтоВы не удаляете свой локальный файл случайно):

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

Я надеюсь, что смогу помочь!

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