18 May 18, Konstantin Stefanov writes to Slawa Olhovchenkov:
>> AK>>> хм, checkout (и он умеет даты, правда, немного череззаднично) >> AK>>> patch, commit, rebase -i - вроде так. >> SO>> нет, давай список команд с ключами. >> AK> а я знай? Я маску эту - на стройке нашел. >> AK> моя древняя версия умеет git checkout <commit> (если ты не >> собираешься >> AK> сам туда ничего коммитить, иначе лучше создать ветку) >> >> туда -- это куда? в локальный или удаленный? KS> git не умеет коммитить напрямую в удаленный репозиторий. Только в KS> локальный, а потом push в удаленный.
>> AK> это сапдейтит тебе дерево на нужную версию. >> AK> дальше сказать ему git commit, чтобы изменения попали в сторадж >> >> % git clone git://github.com/freebsd/freebsd >> % cd freebsd >> % git config merge.renamelimit 8000 >> % git checkout 302c1ab5872d36595738b22e5c81f25970497b05 >> Note: checking out '302c1ab5872d36595738b22e5c81f25970497b05'. >> >> You are in 'detached HEAD' state. You can look around, make experimental >> changes and commit them, and you can discard any commits you make in this >> state without impacting any branches by performing another checkout. >> >> If you want to create a new branch to retain commits you create, you may >> do so (now or later) by using -b with the checkout command again. >> Example: >> >> git checkout -b <new-branch-name> KS> Вероятно, это хороший совет (добавить -b <new-branch-name> перед KS> идентификатором коммита). Detached HEAD вещь неприятная. Hо тогда rebase KS> надо будет сказать, на куда делать rebase (скорее всего, git rebase KS> master, в вообще дефолтная ветка может иметь и другое имя).
>> HEAD is now at 302c1ab5872... MFC 313879 >> % patch -z '' < ../patch-zfs_arc.c >> % git commit >> HEAD detached at 302c1ab5872 >> Changes not staged for commit: >> modified: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c >> modified: sys/vm/uma.h >> modified: sys/vm/uma_core.c >> >> no changes added to commit >> >> и чё не так? KS> Либо git commit -a, либо сначала git add <те файлы, которые хочешь, чтоб KS> попали в коммит>, а потом git commit. В git add можно сделанные KS> изменения нарезать по кускам, чтобы даже разные куски уже сделанных KS> изменений одного файла попали в разные коммиты.
% git commit -a [detached HEAD 49f9c151b0b] ARC correct adaptation ...