Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- git clone git@github.com:XXX/repo1.git repo1
- cd repo1
- git remote add git@github.com:XXX/repo2.git repo2
- git checkout -b repo1_work
- git branch remote/repo2/master repo2_work
- git merge -Xtheirs --allow-unrelated-histories repo2_work
- rm -rf repo1 repo2
- mkdir repo1
- ( cd repo1
- git init
- echo hoge > hoge
- git add hoge
- git commit -m "Initial"
- echo fuga >> hoge
- git add hoge
- git commit -m "Append fuga" )
- git clone repo1 repo2
- ( cd repo2
- rm -rf .git
- git init
- git add -A
- git commit -m "Re-initialize"
- echo piyo >> hoge
- git add hoge
- git commit -m "Append piyo" )
- ( cd repo2
- git remote add repo1 ../repo1
- git fetch -p repo1 )
- ( cd repo1
- git log --graph > ../repo1-before.txt
- )
- ( cd repo2
- git log --graph > ../repo2-before.txt
- )
- * commit 87ee5eb689e4aa33c4b6816c501d89ee154658ea
- | Author: Yuki INOUE <my.mail@domain.com>
- | Date: Fri Nov 3 11:47:18 2017 +0000
- |
- | Append fuga
- |
- * commit 7706f3beea43965c3dd92a9fcc914bbe4f91efbf
- Author: Yuki INOUE <my.mail@domain.com>
- Date: Fri Nov 3 11:47:18 2017 +0000
- Initial
- * commit 59a6096bdad4da18b1055fc66f49e4d54bc05be4
- | Author: Yuki INOUE <my.mail@domain.com>
- | Date: Fri Nov 3 11:47:18 2017 +0000
- |
- | Append piyo
- |
- * commit 3fd04fd77a62b2f5471902eb0f020ade791c598c
- Author: Yuki INOUE <my.mail@domain.com>
- Date: Fri Nov 3 11:47:18 2017 +0000
- Re-initialize
- repo1_end=$(
- cd repo1
- git rev-parse HEAD )
- repo2_init=$(
- cd repo2
- git rev-list --max-parents=0 HEAD )
- ( cd repo2
- git replace $repo2_init $repo1_end
- )
- # repo2 では、一時的に、 `.git/info/replace` が書き換えられ、
- # repo2_init が repo1_end で解決されている。
- ( cd repo2
- git log --graph > ../repo2_replaced.txt # 確認する。
- )
- * commit 59a6096bdad4da18b1055fc66f49e4d54bc05be4
- | Author: Yuki INOUE <my.mail@domain.com>
- | Date: Fri Nov 3 11:47:18 2017 +0000
- |
- | Append piyo
- |
- * commit 3fd04fd77a62b2f5471902eb0f020ade791c598c
- | Author: Yuki INOUE <my.mail@domain.com>
- | Date: Fri Nov 3 11:47:18 2017 +0000
- |
- | Append fuga
- |
- * commit 7706f3beea43965c3dd92a9fcc914bbe4f91efbf
- Author: Yuki INOUE <my.mail@domain.com>
- Date: Fri Nov 3 11:47:18 2017 +0000
- Initial
- # 問題なければ確定する
- ( cd repo2
- git filter-branch -- --all
- git log --graph > ../repo2_rewritten.txt
- git push repo1 master:repo2-master
- )
- ( cd repo1
- git log --graph repo2-master > ../repo1_new_master.txt
- )
- * commit 0477c8800097110a858834f5711b2fcee1380cbc
- | Author: Yuki INOUE <my.mail@domain.com>
- | Date: Fri Nov 3 11:47:18 2017 +0000
- |
- | Append piyo
- |
- * commit 87ee5eb689e4aa33c4b6816c501d89ee154658ea
- | Author: Yuki INOUE <my.mail@domain.com>
- | Date: Fri Nov 3 11:47:18 2017 +0000
- |
- | Append fuga
- |
- * commit 7706f3beea43965c3dd92a9fcc914bbe4f91efbf
- Author: Yuki INOUE <my.mail@domain.com>
- Date: Fri Nov 3 11:47:18 2017 +0000
- Initial
Add Comment
Please, Sign In to add comment