Gitを始めよう
# ローカルリポジトリの新規作成
git init
GitHub上にあるプロジェクトから始めよう
#Gitリポジトリのコピーを作成する
git clone <リポジトリ名>
git clone <リポジトリ名><プロジェクト名>
変更をステージに追加しよう
#変更をワークツリーからステージへ追加する
#コミットする変更を準備
git add <ファイル名orディレクトリ名>
git .
変更を記録しよう
#ステージからリポジトリへ変更を記録する(コミット)
git commit
git commit -m <メッセージ>
#メッセージ付きで記録する。エディタが立ち上がる
git commit -v
現在の変更状況を確認しよう
#現在の変更状況を確認する。ワークツリーとステージの間で変更されたファイル、ステージとワークツリーの間で変更されたファイルを表示する。
git status
何を変更したのかを確認しよう
#git addする前(ワークツリーとステージの間)の変更差分を確認する
git diff
git diff <ファイル名>
#git addした後(ステージとリポジトリの間)の変更差分を確認する
git diff --staged
変更履歴を確認しよう
#変更履歴を確認する。最新のコミットから順に表示される。
git log
#1行で表示する
git log --oneline
#ファイルの変更差分を表示する
git log -p <ファイル名>
#表示するコミット数を制限する
git log -n <コミット数>
ファイルの削除を記録しよう
#ファイルごと削除する。リポジトリ、及びワークツリーから削除される。
git rm <ファイル名>
#ディレクトリごと削除する。リポジトリ、及びワークツリーから削除される。
git rm -r <ディレクトリ名>
#ワークツリーにはファイルを残したいとき
git rm --cached <ファイル名>
ファイルの移動を記録しよう
#ファイルの移動を記録する
git mv <旧ファイル><新ファイル>
#以下のコマンドと同様
mv <旧ファイル名><新ファイル名>
git rm <旧ファイル名>
git add <新ファイル名>
GitHubにpushしよう
#リモートリポジトリを新規追加する
git remote add <ショートカット名> <GitHubのリポジトリのURL>
#リモートリポジトリへ送信する
git push <リモート名><ブランチ名>
git push remote master
バージョン管理しないファイルは無視しよう
.gitignoreファイルに指定することで管理しないファイルをGitの管理から外す
変更をもとに戻そう
#ファイルへの変更を取り消す。ワークツリーの状態をステージと同じにする。
git checkout --<ファイル名>
git checkout --<ディレクトリ名>
#全変更を取り消す
git checkout -- .
ステージした変更を取り消そう
#ステージした変更を取り消す。指定した変更をステージから取り出すだけなのでワークツリーには影響しない。
git reset HEAD <ファイル名>
git reset HEAD <ディレクトリ名>
#全変更を取り消す
git reset HEAD .
直前のコミットを取り消そう
#直前のコミットを取り消す。リモートリポジトリにPushしたコミットはやり直してはいけない。
git commit --amend
リモートの情報を確認しよう
#リモートを表示する
git remote
#対応するURLを表示する
git remote -v
リモートから取得しよう(フェッチ編)
#リモートから情報を取得する(フェッチ編)。リモートリポジトリからローカルリポジトリに情報を取得する。
git fetch <リモート名>
git fetch origin
#リモートから情報を取得する。ローカルリポジトリからワークツリーに変更を反映する
git merge
リモートから取得しよう(プル編)
#リモートから情報を取得してマージまでを一度にやる
git pull <リモート名><ブランチ名>
git pull origin master
#下記コマンドと同様
git fetch origin master
git merge origin/master
リモートの情報を詳しく知ろう
#リモートの詳細情報を表示する
git remote show <リモート名>
git remote show origin
リモートを変更、削除しよう
#変更する
git remote rename <旧リモート名><新リモート名>
git remote tutorial new_tutorial
#削除する
git remote rm <リモート名>
git remote rm new_tutorial
新しいブランチを作成しよう
#ブランチを新規作成する
git branch <ブランチ名>
git branch feature
#ブランチの一覧を表示する
git branch
#リモートリポジトリを含めた全てのブランチの一覧を表示する
git branch -a
ブランチを切り替えよう
#ブランチを切り替える
git checkout <既存ブランチ名>
git checkout feature
#ブランチを新規作成して切り替える
git checkout -b <新規ブランチ名>
git checkout -b <新規ブランチ名><派生元ブランチ名>
変更をマージしよう
#変更履歴をマージする
git merge <ブランチ名>
git merge <リモート名/ブランチ名>
git merge origin master
ブランチを変更、削除しよう
#ブランチを変更する
git branch -m <ブランチ名>
git branch -m new_branch
#ブランチを削除する。masterにマージされていない変更が残っている場合削除しない。
git branch -d <ブランチ名>
git branch -d feature
#強制削除
git branch -D <ブランチ名>