[追記] 最後の方、ちょっと不明瞭だったので修正しました。


amend使ったこと無かったのでメモ。

###前提
shell>>

edit comment.rb

edit product.rb

git commit -am "wrong commit"
<<--
(上記のファイルを修正、product.rbを間違ってコミット)

そして、下記の順で変更・修正します:

###間違ってコミットしたファイルをコミットから外す
shell>>
git reset HEAD~1 app/models/product.rb
<<--
(変更は維持されたまま、コミットから外されます:unstageという)
(こうすると、# Changed but not updated:のところに出てくる)

###コミットメッセージの修正
shell>>
git commit --amend
<<--
(メッセージを修正できる)
(+上でcommitから外したファイルを確定する)

###amend時にコミットメッセージを再利用する
via http://www.jukie.net/~bart/blog/git-amend

@onoさんにこの記事を教えて頂いたのですが、筆者の方はコミットメッセージを再利用するgit ammendコマンドを作っておくという技を使っておられるようです:
shell>>
git config --global alias.amend 'commit --amend -C HEAD'

#今後(メッセージはそのままで)コミットを修正したい時は下記でOK:
git amend
<<--

さらに流れ的には、

  1. コミットしてから、
  2. さらにファイルを編集、
  3. それをgit addでファイルを追加、
  4. git commit --amendで3で追加したのを直前のコミットに加える

というワークフローを使って運用。超こまめにコミットして作業したいときに便利そうです!

posted by satoko satoko on Fri 25 Sep 2009 at 01:40 with 2 comments
ono ono 09/25 10:47
後で確認したら、ファイルの除外はamendではできないですね、失礼しました。alias は、'-C HEAD' なしのほうが普通ですね(というか、-C HEADを入れちゃうとHEADからメッセージを取って来るので、git amendでメッセージの修正はできないです)。
--amendは「commitした後に、debug用のコード消し忘れたに気づいた!」とか、「メッセージtypoした!」というときにとても便利です。
satoko satoko 09/25 14:32
情報ありがとうございます!コミットを再利用するの部分、文章が不明瞭ですね。ちょっと修正します。教えて頂いたリンクの方は、直前のコミットに編集したファイルを追加するので、コミットメッセージは修正しないという感じの運用みたいですね。その旨記述するようにします!
Contents rssrss
NSAssertやNSLogを無効にする:-DNS_BLOCK_ASSERTIONS=1とNS_BLOCK_ASSERTIONS
GDBでview.frameを表示させる
Core Animationについてのリンク集
[iPhone] new BSDライセンスについてライセンス引用のメモ
Implementing a Container View Controller in UIViewController Class Reference
UITableView用のNSIndexPathの作り方
Xcodeのテンプレート、View-based ApplicationとWindow-based Applicationの違い
CopyOnSelectのLion対応
Xcode4のCode Snippetsを別のPCに移動する+gitで管理する
[iPhone] Singleton: iOS4以降はGCDのdispatch_onceを使う
Tags
iphone開発gitIBInterfaceBuilderiOSSIMBLSnippetsterminaltwitterxcodeXcode4
Comments rssrss
https://rootskitchen.bar/ https://rootskitchen.bar/: Just had a solid session playing the crash format ... 05/18 17:27
guest guest: Optimizar el tiempo durante un viaje de negocios e... 05/18 00:46
https://foolsandkings.bar/ https://foolsandkings.bar/: Wrapped up a cracking night session grinding crash... 05/17 19:23
guest guest: Para muchos turistas, el transporte publico y la l... 05/15 18:22
https://safeedsautotransport.com/ https://safeedsautotransport.com/: Многие пользователи в Узбекистане интересуются, на... 05/13 14:36
evlnwyiyh evlnwyiyh: something new and exciting [url=http://www.gyxb4s... 05/08 11:27
guest guest: The creative community and travel enthusiasts note... 05/07 02:59
https://www.thegameroom.org/online-casinos/100-free-spins/ https://www.thegameroom.org/online-casinos/100-free-spins/: Frisse xxx platforms brengen innovatieve inhoud vo... 05/03 11:12
Services from s21g
YOMU Web小説リーダー
小説投稿サイトの公式ページを開き、読みやすい表示、しおり、進捗保存、読み上げで読書を続けやすくするiPhoneアプリです。
補助探
公開されている補助金・助成金情報を集約し、条件に合う制度を探しやすくするサービスです。
jotter.me
個人開発者のためのホスティング一体型ノートサービス
ハンドミラー
iPhone向けの手鏡アプリ
ツイプロ(twpro)
Twitterプロフィールの高速検索エンジン