最初のコミットに紛れていた要らん子を歴史から抹消する - 裏紙より。
「最初のコミットだからめんどくさい」と読み取った。つまり、最初のコミットを付け足せれば二番目じゃん!
※思いつきです。実用性なんて知りません。
まず初期状態を作る。
echo a>a echo x>x git add . git commit -m'最初のコミット' echo b>b git add . git commit -m'二番目のコミット' echo c>c git add . git commit -m'私はたぶん三番目のコミットだと思うから' echo d>d git add . git commit -m'四番目のコミット' echo e>e git add . git commit -m'そろそろめんどい五番目' echo f>f git add . git commit -m'六番目' echo g>g git add . git commit -m'7'
これでだいたい同じものができる。だいたい。
irof@Airof hoge (master)$ git log --stat --oneline 0800692 7 g | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 6fc9a24 六番目 f | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 00ee31f そろそろめんどい五番目 e | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) fb27cad 四番目のコミット d | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) d19fd1a 私はたぶん三番目のコミットだと思うから c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 6b93359 二番目のコミット b | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 416eb14 最初のコミット a | 1 + x | 1 + 2 files changed, 2 insertions(+), 0 deletions(-)
全く別の新しいリポジトリを作って、適当なコミットをする。
irof@Airof piyo$ git init irof@Airof piyo (master)$ git commit -m'空コミット' --allow-empty [master (root-commit) fb1a474] 空コミット
それから、hogeを持ってくる。
irof@Airof piyo (master)$ git remote add hoge ../hoge irof@Airof piyo (master)$ git fetch hoge warning: no common commits remote: Counting objects: 22, done. remote: Compressing objects: 100% (14/14), done. remote: Total 22 (delta 5), reused 0 (delta 0) Unpacking objects: 100% (22/22), done. From ../hoge * [new branch] master -> hoge/master irof@Airof piyo (master)$ git rebase master hoge/master First, rewinding head to replay your work on top of it... Applying: 最初のコミット Applying: 二番目のコミット Applying: 私はたぶん三番目のコミットだと思うから Applying: 四番目のコミット Applying: そろそろめんどい五番目 Applying: 六番目 Applying: 7
これで「最初のコミット」じゃなくなった。
irof@Airof piyo ((dbf6874...))$ git log --stat --oneline dbf6874 7 g | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 9d3d511 六番目 f | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 79c8bcd そろそろめんどい五番目 e | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 3a85d5a 四番目のコミット d | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 3febcc0 私はたぶん三番目のコミットだと思うから c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) 219ad77 二番目のコミット b | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) b00fb5e 最初のコミット a | 1 + x | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) fb1a474 空コミット
リモートの片付けとかはてきとーに。後は煮るなり焼くなり。