После git rebase: я нашел другую отдельную ветку master - PullRequest
2 голосов
/ 12 октября 2019

Недавно я хотел внести некоторые изменения в файл в ПЕРВОМ комитете (c37a5b9) (перейдите вниз, чтобы увидеть журнал git)

Итак, я сделал:

git rebase -i --root

Он открылсяредактор vim, показывающий все коммиты. Затем я выбрал ПЕРВЫЙ коммит (c37a5b9), чтобы отредактировать и закрыть его. затем отредактировал какой-то файл и затем сделал

git add -A

, затем сделал

git rebase --continue

У меня были некоторые конфликты с СЕДЬМОЙ КОМИТ. Я вручную разрешил это, отредактировав конфликты.

Затем сделал

git add -A

, затем снова

git rebase --continue

И после этого я нашел это дерево.

* da348ec - Sat, 12 Oct 2019 07:55:40 +0530 (4 hours ago) (HEAD -> master)
|           NINTH COMMIT 
* e507db5 - Thu, 12 Sep 2019 13:46:42 -0400 (4 weeks ago)
|           EIGHT COMMIT
* 541e199 - Mon, 9 Sep 2019 12:46:00 -0400 (5 weeks ago)
|           SEVENTH COMMIT
* dbe3979 - Thu, 11 Jul 2019 06:04:58 -0400 (3 months ago)
|           SIXTH COMMIT
* b98d381 - Mon, 22 Apr 2019 15:42:42 +0530 (6 months ago)
|           FIFTH COMMIT
* b24c5f0 - Fri, 12 Apr 2019 12:29:31 +0530 (6 months ago)
|           FOURTH COMMIT
* 1c9341d - Fri, 12 Apr 2019 00:23:24 +0530 (6 months ago)
|           Third Commit
* cc193e6 - Tue, 9 Apr 2019 00:37:25 +0530 (6 months ago)
|           Second Commit
* 6592e2c - Mon, 8 Apr 2019 23:59:24 +0530 (6 months ago)
            First Commit

* 2229bec - Tue, 24 Sep 2019 07:12:44 -0400 (3 weeks ago) (origin/backup_of_login_with_database, backup_of_login_with_database)
|           NINTH COMMIT (not used procedure)
| *-.   e708887 - Tue, 24 Sep 2019 13:47:56 -0400 (3 weeks ago) (refs/stash)
| |\ \            WIP on master
|/ / /  
| | * 4cd7f19 - Tue, 24 Sep 2019 13:47:56 -0400 (3 weeks ago)
| |             untracked files on master
| * 159e63a - Tue, 24 Sep 2019 13:47:56 -0400 (3 weeks ago)
|/            index on master
* 9ad7f9a - Thu, 12 Sep 2019 13:46:42 -0400 (4 weeks ago) (origin/master, origin/HEAD)
|           EIGHT COMMIT
* 9a50dde - Mon, 9 Sep 2019 12:46:00 -0400 (5 weeks ago)
|           SEVENTH COMMIT
* 5c786a8 - Thu, 11 Jul 2019 06:04:58 -0400 (3 months ago)
|           SIXTH COMMIT
* c7ca76f - Mon, 22 Apr 2019 15:42:42 +0530 (6 months ago)
|           FIFTH COMMIT
* eb1ca3c - Fri, 12 Apr 2019 12:29:31 +0530 (6 months ago)
|           FOURTH COMMIT
* a652e6e - Fri, 12 Apr 2019 00:23:24 +0530 (6 months ago)
|           Third Commit
* 27cc974 - Tue, 9 Apr 2019 00:37:25 +0530 (6 months ago)
|           Second Commit
* c37a5b9 - Mon, 8 Apr 2019 23:59:24 +0530 (6 months ago)
            First Commit

6592e2c и c37a5b9 - это два ПЕРВЫХ КОМИТЕТА, которые я вижу. Я вижу две основные ветви.

Я был сбит с толку.

Ниже приведено то, что я имел до того, как начал ребазинг. Так как я могу изменить файл FIRST COMMIT с помощью журнала git ниже.

* 54a7170 - Sat, 12 Oct 2019 07:55:40 +0530 (4 hours ago) (HEAD -> master)
|           NINTH COMMIT 
* aa6dfe6 - Thu, 12 Sep 2019 13:46:42 -0400 (4 weeks ago)
|           EIGHT COMMIT
| * 2229bec - Tue, 24 Sep 2019 07:12:44 -0400 (3 weeks ago) (origin/backup_of_login_with_database, backup_of_login_with_database)
| |           NINTH COMMIT (not used procedure)
| | *-.   e708887 - Tue, 24 Sep 2019 13:47:56 -0400 (3 weeks ago) (refs/stash)
| | |\ \            WIP on master
| |/ / /  
| | | * 4cd7f19 - Tue, 24 Sep 2019 13:47:56 -0400 (3 weeks ago)
| | |             untracked files on master
| | * 159e63a - Tue, 24 Sep 2019 13:47:56 -0400 (3 weeks ago)
| |/            index on master
| * 9ad7f9a - Thu, 12 Sep 2019 13:46:42 -0400 (4 weeks ago) (origin/master, origin/HEAD)
|/            EIGHT COMMIT
* 9a50dde - Mon, 9 Sep 2019 12:46:00 -0400 (5 weeks ago)
|           SEVENTH COMMIT
* 5c786a8 - Thu, 11 Jul 2019 06:04:58 -0400 (3 months ago)
|           SIXTH COMMIT
* c7ca76f - Mon, 22 Apr 2019 15:42:42 +0530 (6 months ago)
|           FIFTH COMMIT
* eb1ca3c - Fri, 12 Apr 2019 12:29:31 +0530 (6 months ago)
|           FOURTH COMMIT
* a652e6e - Fri, 12 Apr 2019 00:23:24 +0530 (6 months ago)
|           Third Commit
* 27cc974 - Tue, 9 Apr 2019 00:37:25 +0530 (6 months ago)
|           Second Commit
* c37a5b9 - Mon, 8 Apr 2019 23:59:24 +0530 (6 months ago)
            First Commit

Позже я сделаю push -f

Ответы [ 2 ]

0 голосов
/ 13 октября 2019

Следующее поддерживает вашу старую версию master в действии.

  • Удаленная ветвь отслеживания origin/master
  • Локальная ветвь backup_of_login_with_database
  • Ветвь удаленного слежения origin/backup_of_login_with_database
  • Незавершенная работа спрятана против старого master

Когда вы git push --force origin master, origin/master будет отражать переписанную историю.

Вы можете выбросить скрытый коммит с помощью git stash drop или возобновить WIP с помощью git stash apply.

Пересадка backup_of_login_with_database в новую историю с помощью

git rebase --onto master~ backup_of_login_with_database~ backup_of_login_with_database

или, используя имена объектов SHA1, которые относятся к истории, которую вы показали

git rebase --onto e507db5 9ad7f9a backup_of_login_with_database

Также принудительно нажмите эту ветвь с помощью

git push --force origin backup_of_login_with_database

Все это говорит, рассмотрите, является ли все вышеупомянутая проблемадействительно стоит того, чтобы просто внести изменения поверх ветвей master и backup_of_login_with_database.

0 голосов
/ 12 октября 2019

При использовании git rebase -i --root выберите первый коммит, который переписал бы всю историю коммитов локального мастера. Итак, после ребазирования вы получили локальную ветку master, начатую с 6592e2c, и удаленный мастер с оригинальной c37a5b9.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...