За revert и rebase спасибо. Особенно понравился rebase, надо будет с ним подружиться.
Ну а в общем, в своей работе разве у вас нет какой-нибудь пятёрки коммитов, которые постоянно болтаются на вашем рабочем бранче и которые хочется всегда видеть у себя но никогда в основном репозитории? Или это только с моим стилем работы что-то не так?
Файл конфигурации слишком простой случай, но и тут можно изредка получать головную боль. Не держать его в vcs вообще, не сильно удобно, т.к. в нём всё-таки относится к проекту и необходим во многих случаях именно с дефолтными установками. Можно конечно держать его незакомиченным, но тут получим много неудобств как только в него добавят «чистовые» изменения. В этом случае, пока мы не удалим или не закоммитим свои личные настройки, ни смерджить ни даже переключиться на другой бранч в, котором этот конфиг изменён, git не позволит. Придётся пользоваться нычками (stash) или другим бубном.
Но это конфигурации, в них редко делаются правки. А если это центровой и очень популярный в проекте файл, в который довольно часто льются коммиты и в котором так удобно держать свой код, который, например, дапмит в файл только вам нужные данные?
Вопрос по workflow: допустим есть основная ветка изменений «чистовая» и есть «рабочая» ветка, которая содержит несколько локальных изменений в проекте, которые не должны быть в чистовом варианте, но которые всегда необходимы для разработки. Т.е. другими словами в «черновом» коде хочется видеть всегда несколько «особых» изменений, сделанных один раз и давно, и не хочется держать их в голове, и в то же время не хочется видеть эти изменения в «чистовой» версии и помнить о них при каждом мержде.
Пока что не нашёл простого способа заставить системы контроля версий (и git в частности) работать в таком стиле, но мне кажется, что подобный стиль очевиден и многие должны с ним столкнуться. Как вы поступаете в таком случае?
> Или вы хотите сделать то же самое для обычных файлов со множеством переносов строк и странных символов В ИМЕНИ ФАЙЛА (ИМЯ файла — в другой кодировке):
Ну а в общем, в своей работе разве у вас нет какой-нибудь пятёрки коммитов, которые постоянно болтаются на вашем рабочем бранче и которые хочется всегда видеть у себя но никогда в основном репозитории? Или это только с моим стилем работы что-то не так?
Но это конфигурации, в них редко делаются правки. А если это центровой и очень популярный в проекте файл, в который довольно часто льются коммиты и в котором так удобно держать свой код, который, например, дапмит в файл только вам нужные данные?
Пока что не нашёл простого способа заставить системы контроля версий (и git в частности) работать в таком стиле, но мне кажется, что подобный стиль очевиден и многие должны с ним столкнуться. Как вы поступаете в таком случае?
find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'