2012年2月4日土曜日

gitで過去を改ざんする(3/5)


次は「歌詞を最後までと作詞者を追加、を1ファイルずつにわけつつ歌詞と作詞者も別に」をやります。
基本的にやることは一緒ですが、歌詞の追加と作詞の追加を別コミットにするためにgit addで-pオプションを使います。



「歌詞を最後までと作詞者を追加」をwork_2ブランチとします。
$ git branch work_2 6c25eb04
$ git checkout work_2



同様にreset。
$ git reset 8eb28748
ORIG_HEADが移動した事で紐付けが無くなったブランチは非表示になりました。



ここで、git add を -pオプション付きで実行します。
$ git add -p sousyunfu.txt
diff --git a/sousyunfu.txt b/sousyunfu.txt
index bd56e50..6b6961a 100644
--- a/sousyunfu.txt
+++ b/sousyunfu.txt
@@ -1,4 +1,7 @@
 早春賦
+吉丸一昌
 
 春は名のみの 風邪の寒さや
 谷の鶯 歌は思えど
+時にあらずと 声も立てず
+時にあらずと 声も立てず
Stage this hunk [y,n,q,a,d,/,s,e,?]? 
この作詞者と歌詞の部分を分けたいので、sを入力します。
Stage this hunk [y,n,q,a,d,/,s,e,?]? s
Split into 2 hunks.
@@ -1,4 +1,5 @@
 早春賦
+吉丸一昌
 
 春は名のみの 風邪の寒さや
 谷の鶯 歌は思えど
Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? 
何となく先に歌詞の方をaddしたいので、nを入力します。
Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? n
@@ -2,3 +3,5 @@
 
 春は名のみの 風邪の寒さや
 谷の鶯 歌は思えど
+時にあらずと 声も立てず
+時にあらずと 声も立てず
Stage this hunk [y,n,q,a,d,/,K,g,e,?]? 
ここをaddしたいので、yを入力します。
Stage this hunk [y,n,q,a,d,/,K,g,e,?]? y

$



commitします。
$ git commit -m "歌詞を最後まで(早春賦)"
こうなります。

diffはこうなります。
歌詞の部分だけがコミットされました。



残りの作詞の部分をコミットします。
$ git add sousyunfu.txt
$ git commit -m "作詞者を追加(早春賦)"



もう一方も同様に。
$ git add -p yashinomi.txt
(略)
$ git commit -m "歌詞を最後まで(椰子の実)"
$ git add yashinomi.txt
$ git commit -m "作詞者を追加(椰子の実)"
こうなりました。



またrebaseします。
$ git checkout master
$ git rebase work_2

ひとまず分割は完了。

0 件のコメント:

コメントを投稿