一年ぶりに 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 タグにつけられたアノテーションも表示する