ちなみにスマートフォン用の表示で見るちなみに火曜日の空は僕を押しつぶした。2008-05-14Git入門(ちょっとすすんだつかいかた編)git前回に引き続きGitの使い方を。'すすんだつかいかた'と書いていますが、そんなに高度なことはしていません。'さいしょのいっぽ'よりかは進んだ使い方だと解釈してください。差分を取るでは、greet.rbを変更していきます。git!'に変更したとします。status'ではmodifiedとなります。greet.rb'とします。diff'を使います。git!''-'は削除した部分'+'は追加した部分と、見たまんまの意味です。今回は'--cached'オプションをつけているので'.git/inde'との差分を取ってますが、オプションをつけなければワーキングディレクトリ*2との差分を取ります。変更をコミットしておきましょう。deletions(-)今回はコミットメッセージに日本語を使用してみました。log'コマンドで見ることができます。commit上から、SHA1ハッシュ値*3、コミットした人、タイムスタンプ、コミットメッセージとなっています。log'では'--pretty'オプションで書式を細かく指定できるのですが、それを省いたデフォルトでは'--pretty=medium'を指定したことになっています。git-log'で確認してください。show'を使います。どのコミットかを指定するにはタグかSHA1ハッシュ値を用います。log'で得られたSHA1ハッシュ値を用います。こんなに長いの覚えられないですね。いうわけでSHA1ハッシュ値は省略してもいいことになっています。'db58434795394232ddf5ed09416c619647ef21f8'は'db58434'でOKだと言うわけです。git!'変更前の内容が得られました。ファイルの指定は'SHA1ハッシュ値:ファイルのパス'という風に':'で区切って行います。ファイルを指定しなかったり、':'を使わなければ*4結果はdiff形式で表示されます。以前のコミットをチェックアウトするでは、ワーキングディレクトリ内の内容を以前のコミット時に戻すにはどうすればいいでしょうか。checkout'を用いる方法です。checkout'にSHA1ハッシュ値かタグを指定することでそのコミット時の状態を取り出せます(チェックアウト)。ファイルを指定することも可能です。git!'操作を取り消すさきほど最初のコミット時のgreet.rbをチェックアウトしましたが、もしこれを止めたくなった場合は、コミット前であれば以下の様にして取り消すことができます。git!'もしコミット後であれば2種類の方法があります。修正をしたものを改めてコミットする履歴を修正してなかったことにするしかし、一度公開してしまった場合は改めてコミットしなおさなければ混乱を招きますし。gitは履歴が変更されることを想定していないので不都合が生じてしますため二つ目の方法は推奨されません。よってここでは割愛します。コミットしなおすのは面倒なのですが、ありがたいことにgitにはそれはしてくれる機能があります。HEADエディタが開いてコミットメッセージの入力が促されますが、既にRevertしたことを示すメッセージが入力されているのでそのままコミットすることも出来ます。次はタグやブランチについて。チナミニ*1:現在のBranchの先頭*2:作業中のディレクトリ。今回addしてないファイルとの差分もとる*3:コミット時のオブジェクトから得られたSHA1ハッシュの値。アーカイブ注目記事はてなブログをはじめよう!Sixeightさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。