Если A и B не являются одним и тем же репо (вы создали B, используя последнюю имеющуюся у вас рабочую копию), вы должны использовать graft , чтобы представить, что у них общая история.
Предположим, что вы добавили A в качестве пульта для B согласно ответу VonC , и репозиторий выглядит следующим образом 1 :
~/B$ git tnylog
* 6506232 (HEAD, master) Latest work on B
* 799d6ae Imported backup from USB stick
~/B$ git tnylog A/master
* 33b5b16 (A/master) Head of A
* 6092517 Initial commit
Создайте трансплантат, сообщающий корню B, что его родитель является главой A:
echo '799d6aeb41095a8469d0a12167de8b45db02459c 33b5b16dde3af6f5592c2ca6a1a51d2e97357060' \
>> .git/info/grafts
Теперь две истории выше будут отображаться как одна, когда вы запросите историю для B. Создание перманента является простым git filter-branch
без аргументов. Однако после ветви фильтра вы не находитесь ни в одной ветви, поэтому вам следует git branch -D master; git checkout -b master
.
1 git tnylog
= git log --oneline --graph --decorate