git diff

使い方1:addするべき差分を確認する。

使い方2:addされた(commitされる予定の)差分を確認する。この場合は

git diff --cached 

を使う。

考察

一般にバージョン管理(特にgit)では「差分」は重要な概念である。

あらゆる状態のファイル(ファイル群)は「何もない状態」からの「何らかの差分の積み重ね」として表現できる。

git では「差分」を「ステージングエリア」に add していき、「差分の集合」に「意味的なまとまり」を与え、適切なコメントをつけて commit する。

むやみにいろいろな改変を加えて、まとめて "snapshot" のような(無意味な)コメントをつけて commit するのは「gitっぽくない」使い方である。

ちなみに bazaar の場合は shelve サブコマンドをうまく使うと、コミット内容の取捨選択が容易になる。

普通のpatchコマンドで取り込めるdiffファイルをgitで作成する

since 2011-05-14

http://d.hatena.ne.jp/kanonji/20110222/1298341934

$ git diff --no-prefix HEAD~ > ../_patch
$ patch --dry-run -p0 < ../_patch
$ patch -p0 < ../_patch

特定のリビジョンでの変更を表示する

since 2011-10-24

subversion では svn diff -c REV または svn diff -r ARG-1:ARG で「リビジョン ARG での変更」を表示する。

git の場合は、git log で確認できるハッシュ値を ARG とすると

git show ARG

または

git diff ARG^..ARG

でよさそうだ。

記号で相対リビジョンを指定する方法は man gitrevisions に書かれている。

git_diff.txt · 最終更新: 2011/10/24 10:41 by Takuya Nishimoto
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0