Короче говоря, у меня есть два git-репозитория, один - форк другого, где история форка была переписана.Мне нужно слить ответвление обратно, но это кажется хитрым.
В качестве примера, предположим, у меня есть хранилище с именем foo
.История коммитов выглядит следующим образом:
Commit 3: Typo fixes
Commit 2: Some feature
Commit 1: Quick bug fixes
Commit 0: Initial commit
foo
затем разветвляется как bar
, а затем процесс используется для перезаписи / удаления истории, так что история bar
выглядитследующее:
Commit C: Type fixes
Commit B: Some feature
Commit A: Quick bug fixes
К этому моменту идентификаторы коммитов изменились, и коммит 0 больше не существует в форке.Все остальное то же самое.
Теперь время прошло.В обоих хранилищах работали многие люди.Таким образом, у нас может быть что-то вроде:
foo bar
----------------------------------|-------------------------------------
Commit 5: Fix the major bug fix |
Commit 4: Major bug fix | Commit D: Project specific fixes
Commit 3: Typo fixes | Commit C: Type fixes
Commit 2: Some feature | Commit B: Some feature
Commit 1: Quick bug fixes | Commit A: Quick bug fixes
Commit 0: Initial commit |
Можно ли каким-то образом объединить обратно bar
в foo
?Технически 1 == A
, 2 == B
, & 3 == C
, но я не уверен, как это будет согласовано.