Я пытаюсь сжать фиксацию, которая находится в HEAD, в одну, которая находится несколько назад. Однако когда я запускаю git rebase -i HEAD ~ 7
, я получаю только noop
в редакторе! Я совершенно не понимаю, как это должно работать.
Я работаю в ветке ( cleanup
), которую я создал (используя checkout -b cleanup ...
на SHA1 я нашел в reflog
) после моего первого опыта rebase
, и я случайно удалил все эти коммиты; Дело в том, что я не уверен, что такое родитель ветки (если это имеет значение, здесь).
Я просто пытаюсь сделать то, о чем много раз читал: я хочу немного изменить некоторый коммитированный код, который не является самым последним коммитом. Я не знаю, является ли это приложением для «раздавливания» или просто изменением его, когда я дойду до этой точки.
Я также вижу это в STDOUT, когда редактор запускается после выполнения команды rebase, показанной выше:
$ git rebase -i HEAD~7
usage: git rev-list [OPTION] <commit-id>... [ -- paths... ]
limiting output:
--max-count=<n>
...
В дополнение к ссылке HEAD ~ 7
я попытался указать весь SHA1 и различные спецификации для локальных и удаленных ветвей. Одинаковый результат для всего ...
Что мне не хватает? Спасибо за вашу помощь!
$ git log --oneline HEAD~7..HEAD
d0fd20e temp Fix resume_cities table
ea2ffdf Fix db/seeds.rb to reflect recent database structure modifications
dbd2b8b Add several models/scaffolds that go along with the Geonames tables
9759091 Fix name of the ResumeSkill model file.
3fc3134 Added the SHA1 for the previous commit to the comments on the migration, to help link back to that.
bacbeb2 Consolidate database migrations! READ ME!
0c49a57 Moved back to gem versions of linkedin, omniauth, and twitter
Это коммит bacbeb2
, который я хочу исправить с помощью d0fd20e
По рекомендации @MarkLongair я добавил набор - x
в / usr / lib / git-core / git-rebase - interactive
и увидел следующий странный вывод:
$ git rebase -i HEAD~7
[... output muted for brevity, see the full output, here: http://gist.github.com/1163118]
+ read -r shortsha1 rest
+ sed -n s/^>//p
+ git rev-list --no-merges --cherry-pick --pretty=oneline --abbrev-commit --abbrev=7 --reverse --left-right --topo-order 2c51946812a198ca908ebcad2308e4b8274624b3...d0e9ff6d9c1f8bc374856ca2a84ad52d6013b5bf
usage: git rev-list [OPTION] <commit-id>... [ -- paths... ]
limiting output:
--max-count=<n>
--max-age=<epoch>
--min-age=<epoch>
--sparse
--no-merges
--remove-empty
--all
--branches
--tags
--remotes
--stdin
--quiet
ordering output:
--topo-order
--date-order
--reverse
formatting output:
--parents
--children
--objects | --objects-edge
--unpacked
--header | --pretty
--abbrev=<n> | --no-abbrev
--abbrev-commit
--left-right
special purpose:
--bisect
--bisect-vars
--bisect-all
+ test t =
+ test -s /home/ryan/Projects/social-jobs/.git/rebase-merge/git-rebase-todo
+ echo noop
[...]
Я говорю «странный вывод», потому что если я запустил ] rev-list
команда прямо из моей оболочки, она работает должным образом:
$ git rev-list --no-merges --cherry-pick --pretty=oneline --abbrev-commit --abbrev=7 --reverse --left-right --topo-order 2c51946812a198ca908ebcad2308e4b8274624b3...d0e9ff6d9c1f8bc374856ca2a84ad52d6013b5bf
>0c49a57 Moved back to gem versions of linkedin, omniauth, and twitter
>bacbeb2 Consolidate database migrations! READ ME!
>3fc3134 Added the SHA1 for the previous commit to the comments on the migration, to help link back to that.
>9759091 Fix name of the ResumeSkill model file.
>dbd2b8b Add several models/scaffolds that go along with the Geonames tables
>ea2ffdf Fix db/seeds.rb to reflect recent database structure modifications
>d0e9ff6 !temp Fix resume_cities table !temp