無為空間
むいむい(´ω`*)
Entries
TortoiseGit 1.6.5(with msysGit 1.7.4)の使い勝手を調べていたときのお話。

この状態から

piyoブランチをmasterブランチのHEADにrebaseしようとしたら

「add piyo.txt」のコミットが消えた。
rebaseの使い方を誤ったのだろうか?
いずれにせよ、このおかしな歴史は元に戻さなければならない。
shift+コンテクストメニューでReflogを出す。


何か表示がおかしい気がするが……

Refを指定したらすっきりした。

piyo{1}を選び、「add piyo.txt」の頃にresetする。
これで無事、rebaseする前の状態に戻ることができた。
さて、この「rebaseするとコミットが消える」現象。
TortoiseGitのIssuesの方にも「時々起こる問題」として何件か上がっているが、最終的には「Issue 512: Git sync lose local commits (remote update, fetch and rebase)」にて
The issue always occurred on single-core machines, or when manually setup affinity mask of TortoiceProc to one core.
「シングルコアのマシンなら確実に起こる」というコメントと共にパッチが上げられていた。
シングルコアとは、なるほど今時のマシンでは発症しにくそうな不具合である。
では、このパッチを適用したバイナリを入れて再度rebaseしてみよう。


今度は期待通りの歴史になることが確認された。
スポンサーサイト
コメント
コメントの投稿
トラックバック
- トラックバック URL
- http://idlysphere.blog66.fc2.com/tb.php/260-b8eb5533
- この記事にトラックバックする(FC2ブログユーザー)