Git のメモ

一年ぶりに Git を使おうと思ったら、キレイさっぱり忘れていたので、メモ。(^_^;

私の場合、バージョン管理環境下での開発時に使うコマンドはだいたい以下のもの。

  • リモート リポジトリを git init –bare –shared=true で作成する。
  • 作業ディレクトリに git init し、git ディレクトリを作成する。
  • リモート リポジトリに git push する。
  • リモート リポジトリから git pull もしくは、git clone する。
  • 作業ディレクトリで、git checkout -b (ブランチ名) する。
  • 作業ディレクトリで、git add . する。
  • 作業ディレクトリで、git commit する。
  • 作業ディレクトリで、git branch (ブランチ名) する。
  • 作業ディレクトリで、git merge (ブランチ名) する。

その他は、以下にまとめる。
▼ リモートリポジトリを初期化する
$ git init –bare –shared=true
共有するためには、–shared=true を指定する。

▼ リモートリポジトリを追加する
git clone した場合、origin が設定されているが、clone して作成していない git ディレクトリの場合は、origin などが設定されていなかったので、git remote add コマンドで設定した。
$ git remote add origin (リモート リポジトリ)

▼ ブランチを削除する
$ git branch -d (ブランチ名)
$ git branch -D (ブランチ名)
ブランチを削除する。-D オプションを付けるとコミット済みの改変をマージしていない場合でも削除できる。

▼ 直前のコミットメッセージを修正する場合
$ git commit –amend -m “(新しいコミットメッセージ)”

▼ 管理対象からファイルを削除する場合
git rm は、作業ディレクトリからもファイルが削除される。
git rm –cached は、作業ディレクトリからはファイルが削除されない。

▼ 特定のコミットを削除したい場合
コミットを無かったことに (削除) したい場合、git revert を使用する。

▼ コミットの状態を戻したい場合
コミットログをさかのぼってファイル内容を確認したい場合、git reset を使用する。

▼ リモートリポジトリの変更をすぐにマージしたくない場合
git pull するとすぐにマージされてしまうが、
git fetch でリモートリポジトリの変更情報のみを取得し、
git log FETCH_HEAD で、リモートリポジトリの変更ログを参照する。
git diff FETCH_HEAD で、リモートリポジトリの差分を参照する。
問題がなければ、git merge FETCH_HEAD でローカルブランチにマージする。

※ SourceTree の GUI でコマンドを確認しながら実行すると状態が把握しやすい。

▼ fast-forwarded. メッセージの意味
例えば、以下の様なメッセージが表示された場合、
Switched to branch ‘master’
Your branch is behind ‘origin/master’ by 1 commit, and can be fast-forwarded.
「あと1回コミットされてるけど早送り(衝突がないのでそのまま最新版に)できる」という意味。
git merge origin/master を実行することで、ローカルの master も origin/master と同じにできる。

▼ タグを表示する
git tag -n タグにつけられたアノテーションも表示する

HomeBrew のアップデートで失敗する場合の対処方法

1
2
3
$ cd `brew --prefix`
$ git fetch origin
$ git reset --hard origin/master

作業ディレクトリ、GIT インデックスを初期化しすれば良いみたい。
再度、brew update したら、正常にアップデートすることが出来た。

PhpStorm キーボード操作について

最近、PhpStorm を始めたので、個人的によく使うキーボード操作をまとめた。

PhpStorm ver 7.1.3
Mac OS X 10.5+

エディタ操作 キー
定義へジャンプ cmd + b
進む、戻る opt + cmd + ← / →
文字列行を選択する shift + ↑ / ↓
インデントする tab
インデントを戻す tab + shift
フォーマットを整える opt + cmd + l (エル)
選択箇所のインデントをそろえる ctrl + opt + i
ステートメントを閉じる shift + cmd + return
行選択 / 単語選択 opt + ↑ / ↓
行を連結する ctrl + shift + j
行を複製する cmd + d
行を削除する cmd + del
カーソル行を上に移動する cmd + shift + ↑
カーソル行の下に行を追加する shift + enter
現行ファイルのパスをコピーする cmd + shift + c
指定行へ移動する cmd + l
検索の操作 キー
ファイル検索 cmd + shift + f
どこでも検索(※1) shiftを2回押下
最近開いたファイルを参照 cmd + e

※1: ファイル、アクション、クラス、シンボル、設定、およびUI要素を単一のエントリポイントから検索

コメントの操作 キー
コメントする / 解除する cmd + /
デバッグ操作 キー
ステップイン F7
ステップアウト Shift + F8
プロジェクトビューからソースファイルへの操作 キー
プロジェクト ビューを表示する. Cmd + 1
プロジェクト ビューでフォーカスがあるファイルのソースコードを表示する. Cmd + ↓
ブックマークの操作 キー
ブックマーク0番 ctrl + shift + 0
ブックマーク0番へジャンプ ctrl + 0

【コメント】
shift + enter って結構使うなぁー