- hidenorigoto
- 5623
- 1
- 5
- 0
Hidenori Goto | COO and CTO at KabuK Style
@hidenorigoto
あれ、rebaseするとコミットに関連付けていたタグは消えちゃうんでしたっけ・・・。
2011-01-29 23:20:06
Hidenori Goto | COO and CTO at KabuK Style
@hidenorigoto
@bleis ありがとうございます。自分の理解不足ですw http://bit.ly/ijXpCl 履歴をさかのぼってコミットを1個追加して、masterへ戻って追加したコミットへリベース、みたいな操作をしたので、新しいコミットが作られたということでいいんでしょうか。
2011-01-29 23:29:13
ぐるぐる系SQL
@bleis
@hidenorigoto そんな感じです。tagはcommitオブジェクトのハッシュを指すだけのものなので、rebaseした際に新しいcommitオブジェクトが作られてもそのままになる、とそんな感じ
2011-01-29 23:31:29
ぐるぐる系SQL
@bleis
@hidenorigoto 4-29が指してるcommitオブジェクトには、親のcommitオブジェクトのハッシュが記録されていて、4-29-preのコミットを指しこんだことで、4-29が指してるcommitオブジェクトとは別のcommitオブジェクトが必要になった(続
2011-01-29 23:33:57
ぐるぐる系SQL
@bleis
@hidenorigoto なんでかというと、Gitではcommitオブジェクトは一回作られたらその内容が変更されないから。変更できているように見えるのは、単に新しいcommitオブジェクトが作られて、そちらを指すようになるからです。(続
2011-01-29 23:34:45
ぐるぐる系SQL
@bleis
@hidenorigoto で、今回みたいにtagとか打ってあると、そのtag自体は前のcommitオブジェクトを指したままになるので、gitkすると消えたように感じる、と
2011-01-29 23:35:31
Hidenori Goto | COO and CTO at KabuK Style
@hidenorigoto
@bleis なるほど、丁寧にありがとうございます。ということは、こういった書き換えを行う場合はtagを付け直す必要があるということですね。
2011-01-29 23:39:04