コマンドと説明
使用シーンについては例です。
git init
新しいGitリポジトリを作成
実行ディレクトリがGitの管理対象になります。
$ git init
git clone リポジトリURL
実行ディレクトリにリモートリポジトリからプロジェクトを自身のPCにコピー
$ git clone リポジトリURL
git add ファイル名
commitに含める。
ステージングエリアに追加
$ git add ファイル名
全ての変更ファイルをステージングエリアに追加
$git add .
git commit -m "コミットメッセージ"
ステージングエリアにある変更をスナップショットとして保存。
メッセージは自分で変更を簡潔に書きます。
$ git commit -m "コミットメッセージ"
git status
現在のブランチでの変更差分のあるファイルパスとステージングにあるのかそうでないのかを表示
$ git status
git push
ローカルブランチにあるコミットをリモートリポジトリに反映
$ git push リモート名 ブランチ名
リモートのリポジトリを強制的に更新し、コミットを取り除きます。
この操作はリモートリポジトリの履歴を書き換え、他開発者がコミットを取得している場合に問題発生する場合があります。
$ git push --force
git pull リモート名 ブランチ名
リモートリポジトリにある最新の反映を自身のローカルリポジトリに反映。
git fetch
とgit merge
を1回で行う。
$ git pull リモート名 ブランチ名
git checkout
別ブランチに切り替える。
$ git checkout 移動先ブランチ名
新しいブランチの作成とそのブランチへの移動を行います。
$ git checkout -b ブランチ名
git branch ブランチ名
新しいブランチの作成。
この作成したブランチで作業をするためにはgit checkout ブランチ名
を実行する必要があります。
$ git branch ブランチ名
git fetch リモート名
リモートリポジトリから最新の変更をローカルに反映。(自身の作業ブランチに直接影響はありません。)
リモートでの変更がローカルリポジトリに反映されていない場合に使用。
$ git fetch リモート名
git merge リモート名/ブランチ名
指定したブランチの変更を現在のブランチにマージ。
他のブランチにメインブランチを反映したい際に使用。
$ git merge ブランチ名
git log
リポジトリの過去commit履歴を表示。コミットID
もこのコマンドで調べます。
どの変更がいつ、誰によって行われたかを表示します。
$ git log
git reset
コミット履歴をもどします。しかし、変更そのものは残します。
指定したcommitよりも後のcommitを取り消しますが、作業ツリーやステージングエリアの変更はそのまま保持します。
commitはしたが、pushしていない場合にcommitを取り消す際に使用します。
$ git reset --soft コミットID
リポジトリの状態を特定のコミットの状態に完全に巻き戻します。
--hard
を使用した場合、変更取り消しができません。
commitはしたが、pushしていない場合にcommitを取り消しかつ変更も削除する際に使用します。
$ git reset --hard コミットID
git stash
現在の変更を一時退避します。
変更を取り消したり、反映せずにブランチの切り替えを行う際に使用。
$ git stash
メッセージをつけてstash
できます。
あとで探す際に分かりやすくなる。
$ git stash save "メッセージ"
stash
した履歴を表示
$ git stash list
git stash apply
git stash
した最新の内容を反映。
$ git stash apply
stashした内容を現在のブランチに反映。
上記git stash list
で表示されるstash@{n}
(nには数字が入ります。)を使用して特定のstash
履歴を現在ブランチに反映。
$ git stash apply stash@{n}
git rebase ブランチ名
ブランチの履歴を変更する。
あるブランチのベースを別ブランチに変更します。(あまり使ったことないコマンドです。)
$ git rebase ブランチ名
git remote
リモートリポジトリの一覧を表示します。
リモートリポジトリのURLとfetch
とpush
に使用されるリモートの情報が表示。
通常はorigin
がリモートリポジトリの名前として使用されています。
$ git remote -v
現在設定されているリモートリポジトリを削除する。
リモートリポジトリとの接続解除しますが、ローカルの作業に影響はなし。
$ git remote remove origin
リモートリポジトリのURLを変更する。
リモートリポジトリが変わった場合等に使用。
$ git remote set-url origin リポジトリURL
git revert
特定のコミットを取り消し、新しいコミットを作成します。
この方法ではリモートの履歴を壊さずにcommit内容を取り消したい場合に使用します。
$ git revert コミットID