Игнорировать уже отслеженные файлы? (использование Tower для Mac для работы с git-репозиторием)
Я новичок в Git, поэтому, пожалуйста, потерпите меня!
Я работаю с клоном удаленного репозитория на Unfuddle. Клон установлен ExpressionEngine, поэтому мне нужно внести изменения в определенные файлы, чтобы заставить CMS работать на моем локальном компьютере, я запускаю его под MAMP. Однако я НЕ хочу отправлять эти измененные файлы обратно в удаленное хранилище, когда я закончу, и я не хочу, чтобы они сидели в Tower и ожидали, когда их изменения будут зафиксированы.
Я пытался игнорировать файлы, но это вызывает проблемы... игнорирование выталкивается в репозиторий, чего я тоже не хочу! Другие люди работают с этим хранилищем, и эти файлы НЕ должны игнорироваться в их системах. Я просто хочу, чтобы Tower оставил удаленный репозиторий как есть, но притворяюсь, что изменений, которые я сделал в моих локальных файлах, просто нет.
Я спрашиваю о невозможном?
В частности, я бы хотел поработать с Tower, поэтому знание того, как выполнять команды git в этой среде, было бы очень полезно.
4 ответа
Использование git update-index --assume-unchanged
на отслеживаемых файлах. Это как временное игнорирование отслеживаемых файлов. Это также относится только к вашему клону, а не к кому-либо еще.
http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html
Кроме того, в случае неотслеживаемых файлов нет необходимости использовать .gitignore
игнорировать их, что делает игнорирование распространяемым на любой клон репо. Ты можешь использовать $GIT_DIR/info/exclude
файл, чтобы игнорировать неотслеживаемые файлы, только в вашем репо.
В Tower есть опция исключения, которая не использует gitignore
- Щелкните правой кнопкой мыши файл
- Нажмите Игнорировать
- Снимите флажок "Удалить файлы"
- Выберите "Только игнорировать локально"
- Нажмите сохранить.
Чтобы просмотреть все исключенные файлы / папки: перейдите в "Настройки" или "Файл" -> "Изменить шаблоны исключенных файлов".
Источник: http://www.git-tower.com/files/applicationHelp/pgs/Browse_IgnoringFiles.html
На основании вашего описания. Я предполагаю, что вы не хотите, чтобы ваши файлы загрязняли ваш удаленный репозиторий, но вы все равно хотите поместить свой файл на свой сервер.
В git есть концепция, что вы можете создать ветку в вашем локальном / удаленном репозитории.
После того, как вы сделаете ветку в своем хранилище, вы можете нажать любой код / файл, который вы хотите. Другие разработчики не должны использовать вашу ветку, и они не будут получать ваши коды / файлы.
Git применяет шаблоны игнорирования только к неотслеживаемым файлам. Вы не можете использовать шаблоны игнорирования, чтобы игнорировать изменения в файлах, которые уже отслеживаются git. Тем не менее, см. https://gist.github.com/1423106, чтобы узнать, как люди обошли проблему. Это для родного мерзавца, башня может предложить что-то другое, как яз предложил.