##基本的な操作
-
git init
リポジトリを初期化
.gitディレクトリに管理するリポジトリデータが格納される。
この初期化したディレクトリ以下をワークツリーと呼ぶ。 -
git status
リポジトリの状態を確認 -
git add
ステージ領域へファイルを追加して、Gitリポジトリのバージョン管理の対象にする。 -
git commit
ステージ領域のファイルを、リポジトリの歴史を記録
git commit -am "{メッセージ}"
add + commit を一回で行える
// 1行のコミットメッセージ
$git commit -m "{メッセージ}"
// 詳細なコミットメッセージ
$git commit
// フォーマット
1 変更内容の要約
2 空白
3 理由や詳細を以下に記述
-
git status
現在のワーキングツリーの状態を確認 -
git log
コミットログを確認
// コミットメッセージの1行目のみ
$git log --pretty=short
// 指定したディレクトリ、ファイルのも
$git log {ファイル名}
// ファイルの差分を表示
git log -p {ファイル名}
-
git diff
ワークツリー、ステージ領域、最新コミット間の変更差分を確認
// ワークツリーとステージ領域
$git diff
// ワークツリーと最新コミットの差分
$git diff HEAD // HEADは、作業ブランチの最新のコミットを参照するポインタ
ブランチの操作
-
git branch
ブランチを一覧表示
現在のブランチを*で確認 -
git checkout -b {ブランチ名}
ブランチを作成し、切り替える
// ブランチの切り替え
$git checkout {ブランチ名}
// 1つ前のブランチに切り替える
$git checkout -
-
トピックブランチ、統合ブランチ
トピックブランチとは、1つのテーマに集中して、他の作業は一切行わないブランチのこと。
統合ブランチとは、トピックブランチの中心(分岐元、併合先)となるブランチ。 -
git merge
ブランチをマージ
$git checkout {マージ先}
// --no-ffを付けてマージコミットを作成する
$git merge --no-ff {ブランチ名}
-
git log --graph
ブランチを視覚的に確認する
コミットを変更する操作
-
git reset
歴史を戻る
$git reset --hard {戻りたい状態のハッシュ値} // ハッシュ値は初めの4文字以上あれば動作する
// リポジトリでの作業のログを確認する
$git reflog
-
git commit --amend
直前のコミットメッセージを修正する -
git rebase -i
使用例
間違えがあるコミット:commitA
修正を加えたコミット:branchB
この二つを統合して一つのコミットにする
$git rebase -i HEAD~2
// 以下が表示されるのでpickをfixupに変更することでcommitAにすべて統合される
pick {ハッシュ値} commitA
pick {ハッシュ値} commitB → fixup {ハッシュ値} commitB
リモートリポジトリへの送信
1.GitHubでリポジトリを作成する
2.ローカルリポジトリで、以下のコマンドでリモートリポジトリを登録する
originは、以降リモートリポジトリを指す。
ローカルリポジトリ
$git remote add origin {リポジトリのパス}
3.リモートリポジトリ(origin)のmasterブランチへ送信する
-uは、ローカルリポジトリのupstreamはoriginのmasterブランチであることを示す。これにより、git pullでの設定を省略可能。
ローカルのmasterブランチ
$git push -u origin master
リモートリポジトリから取得
すでにリモートにあるリポジトリを取得する
$git clone {リモートリポジトリのパス}
// リモートリポジトリも含んだブランチ情報の表示
$git branch -a
// リモートのブランチをローカルで取得する
$git checkout -b {ブランチ名} origin/{ローカルのブランチ名}
// 最新のリモートリポジトリブランチを取得
$git pull origin {ブランチ名}