Skip to main content
  1. Learn
  2. Software Development
  3. Guides
  4. Git tutorial
  5. Как использовать Git
  6. Как управлять журналом в Git
  7. Объединение и перемещение фиксации
GuidesSoftware DevelopmentBacklog
Git

Project and code management together.

Объединение и перемещение фиксации

Перейдите в каталог «git-tutorial/tutorial6», который вы скачали ранее.

Если вы изучите журнал этого репозитория, он будет выглядеть следующим образом:

Current history

Мы собираемся изменить фиксацию с сообщением «append description of the commit command».

Для этого мы будем использовать команду git rebase -i.

$ git rebase -i HEAD~~

Your default Ваш текстовый редактор по умолчанию откроет список фиксаций от HEAD до HEAD~~, как показано ниже.

pick 9a54fd4 append description of the commit command
  pick 0d4a808 append description of the pull command

  # Rebase 326fc9f..0d4a808 onto d286baa
  #
  # Commands:
  #  p, pick = use commit
  #  r, reword = use commit, but edit the commit message
  #  e, edit = use commit, but stop for amending
  #  s, squash = use commit, but meld into previous commit
  #  f, fixup = like "squash," but discard this commit log message
  #  x, exec = run command (the rest of the line) using shell
  #
  # If you remove a line here THAT COMMIT WILL BE LOST.
  # However, if you remove everything, the rebase will be aborted.
  #

В первой строке измените слово pick на edit, затем сохраните и выйдите.

Вы увидите следующий текст и выйдете из этой фиксации.

Stopped at d286baa... append description of the commit command
  You can amend the commit now, with

          git commit --amend

  Once you are satisfied with your changes, run

          git rebase --continue

Откройте файл sample.txt и внесите изменения, как показано ниже.

Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Record index state.
pull: Obtain the content of the remote repository

Используйте команду git commit --amend, чтобы зафиксировать изменение.

$ git add sample.txt
$ git commit --amend

Затем выполните команду git rebase --continue, чтобы завершить процесс перебазирования.

$ git rebase --continue

При выполнении перебазирования текущей ветки вы можете столкнуться с конфликтами в ваших изменениях. Чтобы продолжить, вам необходимо вручную решить эти конфликты, а затем выполнить команды git add и git rebase --continue. Нет необходимости создавать новые фиксации для решения конфликтов.

Однако, если вы хотите остановить перебазирование, вы можете выполнить команду git rebase --abort, которая отменит весь процесс и завершит его, а также успешно изменит фиксацию.

В тех случаях, когда вы указываете edit более чем в одной строке при вызове git rebase -i, вам будет предложено изменить каждую фиксацию по одной.

Subscribe to our newsletter

Learn with Nulab to bring your best ideas to life