On 18.05.2018 10:15, Slawa Olhovchenkov wrote: > >> 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 > ... > 3 files changed, 169 insertions(+), 15 deletions(-) > % git rebase -i > You are not currently on a branch. > Please specify which branch you want to rebase against. > See git-rebase(1) for details. > > git rebase <branch> > > % git rebase -i stable/11 > fatal: Needed a single revision > invalid upstream stable/11 > > ну теперь-то что не так? А у тебя точно ветка называется stable/11? Судя по командам, ты пока на мастере. Hадо бы git status посмотреть, перед тем как checkout делать.
Я бы все-таки ушел от detached HEAD, т.е. сделал первый коммит в новую ветку. Примерно так: git clone git status - чтобы увидеть имя ветки (он сверху напишет on branch <имя>) git checkout -b <new branch> <commit>. Затем что-то патчишь git commit -a (ну или add .. commit) git rebase -i <ветка из git status>
Как-то так.
-- Константин Стефанов
Hаука - это истина. Hе позволяйте фактам ввести вас в заблуждение. --- ifmail v.2.15dev5.4 * Origin: Demos online service (2:5020/400)