gitコマンドの紹介!!

こんにちは、gumiの奥田です。

この前は、gitについてとコマンドを紹介しました。

今回は、知っていると便利なコマンドをご紹介したいと思います。

ログの確認

$ git log
ログを表示します
$ git log -2
ログを2件表示します
$ git log --since=2.hours
最新2時間のコミットを表示します

コミットの打ち消し

revertコマンドは、打ち消すコミットを消去するのではなく、パッチを当て新たにコミットすることで、
打ち消すコミットをなかったことにします。打ち消されるのは、指定したコミットによる変更だけです。
打ち消そうとするコミット以降のコミットには影響がありません。

1. 追加した箇所のコミットを調べ、ハッシュを確認します。

  $ git log
  commit ba4959244138c28b9db76c615ded02761bf65477
  Author: taro yamada
  Date: Mon Aug 23 20:29:10 2010 +0900

2. 指定したコミットの打ち消し

  $ git revert ba495

  ハッシュは最低5桁、8桁を指定するだけで可能です。
  そうすると、指定したハッシュのコミットを打ち消すことができます。

最新のコミット内容を見る

 $ git show

特定のファイルの更新を誰がおこなったのか確認する

 $ git blame <ファイル名>

コミットを削除

git reset HEAD^
コミットを削除する

これは、リポジトリ内の記録を削除するだけで、自分のファイルディレクトリは変更されません。

git reset --hard HEAD^
リポジトリ内の記録も削除し、かつ自分のファイルディレクトリも元に戻ります。

コミットにタグを付ける

git tag <タグ名>
最新のコミットにタグ名を付けます。
git tag -a <タグ名>
エディタが開きメッセージもつけらます。
git tag
タグ名一覧を取得します。

ただし、タグ名はgit pushでは送られません。
git push --tagsで送ることができます。

チェックアウト

git checkout <ファイル名>
インデックスに記録された(addで追加した直後)状態までファイルを戻します。
git checkout HEAD <ファイル名>
最新のコミットまでファイルを戻します。
git checkout <タグ名> <ファイル名>
タグ名のコミットまでファイルを元に戻すことができます。

ブランチ

ブランチを作成することで、既存のものに手を付けずに新機能を開発したりできます。
ローカルリポジトリにもブランチが作成できます。

  • ローカルでのブランチ作成

 $ git branch test1
   ブランチ'test1'を作る

 $ git branch
   現在のブランチ状況を見る

 $ git checkout test1
   test1ブランチに移動する

   このtest1で編集したものはmasterに影響しません。

  • masterとのマージ

 1. $ git commit -a -m 'test1 処理完了'
 2. $ git checkout master
   マスターに移動
 3. $ git merge test1
   test1をmasterに統合する
 4. $ git tag "test1_v1.0"
   タグを付けてリモートリポジトリにアップする
 5. $ git push

  • 特定のコミットだけをマージする。

 ある特定のコミットだけをマージしたい時は、以下のコマンドを使用することで対応できます。

 $ git cherry-pick [commit_id]

 例.
  $ git cherry-pick ba4959244138c28b9db76c615ded02761bf65477

 たとえば、masterとブランチAで開発している場合、特定のコミット(例えば共通のバグなど)だけを
 適用したい場合、このコマンドは便利ですね!!


以上です。
これ以外にもまだまだコマンドは存在します。
gitってほんとに便利ですね!!