Drkcore

11 08 2012 git Emacs Tweet

Magitの歴史修正機能

MagitのRewritingがよく分からなかったので、色々触っていたらなんとなく理解したけどgit rebase -iとどこが違うんだろう?

ちなみに、M-x magit-statusを毎度叩くのも飽きたのでC-x gに割り当てました。

(global-set-key (kbd "C-x g") 'magit-status)

Rewritingの使い方

まずはl lでログリストを出して、修正の起点のコミットログでr b(begin)を押す。

すると、magit-statusでそれ以降のコミットログがpendingされたコミットになっているので、修正したい順番にAを押していく。きちんとコミットされるとpendingのステータスが*(未使用)から.(使用済み)に変わる。r .とかr *でも状態変更はできる。

これはgit rebase -iでコミットログの順番を変えるのとほとんど一緒だと思う。

まとめてコミットしたい場合はaをつかえばいいんだけど、コンフリクトしたりしてなんか挙動がいまいち掴みきれていない。

最初の方はなかなか思い通りにいかなくて最初からやり直したいことが多いが、そういう場合に破棄するのはr a(abort)でOK。

慣れるまではcloneしてテスト用のリポジトリで作業してみて、OKだったらもとのリポジトリで修正すんのがいいのかもしれない。

Reflogの使い方

l hでReflogが出るのでAを押すとコミットが取り込まれる。

ProductName 実用Git
Jon Loeliger
オライリージャパン / 2940円 ( 2010-02-19 )


About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021