今回はGitでよく使われるコマンドについて解説します。
Gitについてよくわからない方や用語がわからない方はこちら
目次
- git remoteコマンド
- git cloneコマンド
- git initコマンド
- git addコマンド
- git commitコマンド
- git resetコマンド
- git pushコマンド
- git pullコマンド
- git branchコマンド
- git checkoutコマンド
- git diffコマンド
- git logコマンド
- git statusコマンド
- git stashコマンド
git remoteコマンド
このコマンドは他のリポジトリとの接続の作成、内容確認、削除を行うときに使われます。
git remote
これは他のリポジトリへの接続の一覧を表示するコマンドです。
git remote -v
これは他のリポジトリへの接続の一覧をURL付きで表示するオプションです。
git remote add (エイリアス名) (リモートリポジトリ情報)
リモートリポジトリをローカルリポジトリと紐付ける時に使うコマンドです。 エイリアス名にはoriginがよく使われます。リモートリポジトリ情報はURLなどが入ります。
git remote rm (エイリアス名)
指定の名前のリモートリポジトリへの接続を削除するコマンドです。
git remote rename (古い名前) (新しい名前)
これは古い名前から新しい名前にリモート接続の名前を変更するコマンドです。
git cloneコマンド
既存のリモートリポジトリをローカル環境にコピーするコマンドです。
git clone (リモートリポジトリ情報)
このコマンドを実行するとリモートリポジトリが今いるディレクトリにクローンされます。git remoteコマンドを使わなくてもリモートリポジトリとローカルリポジトリが紐付けられた状態になります。
git clone -b (ブランチ名) (リモートリポジトリ情報)
このコマンドはクローンするブランチを選べます。ブランチ名のリポジトリをクローンします。
git initコマンド
これはリポジトリをgitで管理することを指定するコマンドです
git init
このコマンドは今いるディレクトリに.gitディレクトリが作成されます。
git init (ディレクトリ名)
このコマンドはディレクトリ名をつけられます。今いるディレクトリの下にディレクトリ名のディレクトリ。その下に.gitが作成されます。
git init --bare --share
リモートリポジトリを作る時に使うコマンドです --bareは作業ディレクトリを作らなくさせるオプションです。--shareはリポジトリが複数のユーザーに共有にできるようにさせるオプションです。
このコマンドを使うと使った環境にリモートリポジトリとして使えるリポジトリができます。
git addコマンド
ワーキングツリーからインデックスにファイルの登録をするコマンドです。
git add (ファイル名)
これは指定のファイルを登録するコマンドです。
git add .
これは今いるディレクトリにあるファイルを全て登録するコマンドです。
git add -u
これはローカルリポジトリと比較して変更が加えられたファイルを登録してくれるコマンドです。
git add -A
これはワーキングツリーにある全てのファイルを登録するコマンドです。
git commitコマンド
インデックスにあるファイルをローカルリポジトリに登録するコマンドです。
git commit -m "(コミットメッセージ)"
このコマンドはダブルクォートで囲まれた部分をコミットメッセージとしてコミットが登録されます。
git commit --amend -m "(コミットメッセージ)"
このコマンドは直前のコミットのコミットメッセージをこのコマンドで入力したコミットメッセージに変更します。
git commit --amend --no-edit
このコマンドは直前のコミットにインデックスのファイルを追加できます。
Git resetコマンド
このコマンドはインデックスを取り消したりコミットを任意の履歴まで戻すことができます。
git reset
このコマンドはインデックスされているファイルをすべてリセットしてgit addする前に戻します。
git reset (ファイル名)
ファイル名のファイルだけをインデックスから解除します。
git reset (コミット番号)
このコマンドはコミット番号のコミットまで履歴が戻ります。何もオプションを指定しないとmixedというオプションで実行されます。
git reset HEAD^
このコマンドは^がひとつ前のコミットという意味なので現在のブランチの最新のコミットのひとつ前のコミットに履歴がもどります。これもmixedというオプションで実行されます。
git reset --soft (コミット番号)
このオプションは指定したコミットまで戻ってそれまでに変更した更新内容をインデックスに登録した状態にします。
git reset --hard (コミット番号)
このオプションは指定したコミットまで戻ってそれまでに変更した更新内容削除します。作業ディレクトリにも残りません。
git reset --mixed (コミット番号)
このオプションは指定したコミットまで戻ってそれまでに変更した更新内容を作業ディレクトリに残します。インデックスはされていない状態です。オプションを指定しないとこの状態になります。
git pushコマンド
ローカルリポジトリに加えた変更をリモートリポジトリに登録するコマンドです。
git push (エイリアス名) (ブランチ名)
このコマンドは指定したリポジトリの指定したブランチにローカルリポジトリの変更を登録します。
git pullコマンド
リモートリポジトリから最新の状態をローカルリポジトリに反映するコマンドです。
git pull (エイリアス名) (ブランチ名)
このコマンドは指定したリモートリポジトリの指定したブランチの情報をローカルリポジトリに反映します。実際にはfetchとmargeという処理をしています。
git branchコマンド
ブランチを確認したり作成するコマンド
git branch
このコマンドは存在しているブランチの一覧を表示します。表示されたブランチで*がついているものが現在いるブランチになります。
git branch (ブランチ名)
ブランチ名に入力された名前のブランチが作成されます。
git checkoutコマンド
ブランチを切り替えるコマンド
git checkout (ブランチ名)
このコマンドは現在のブランチから指定したブランチに移動します。また、ブランチ名に「-」を指定するとひとつ前にいたブランチに切り替えらえます。
git checkout -b (新しいブランチ名)
このコマンドは指定したブランチが存在しなければ新しくブランチを作ってそのブランチに切り替えます。-bではなく-Bとすると指定したブランチが存在しても一度ブランチを削除して新しく作り直して切り替えます。
git diffコマンド
変更されたことについて見ることが出来るコマンドです。
git diff
このコマンドはワークツリーとインデックスを比較します。そのためgit addした後では何も表示されません。
git diff --cached
このコマンドはgit addした後にインデックスと最新のコミットとの変更点を表示してくれます。
git diff HEAD^..HAED
このコマンドは最新のコミットと最新のひとつ前のコミットの変更点を表示してくれます。..の右側にあるものが新しいものとして認識されます。
git diff (ブランチ名)
このコマンドは指定ブランチとワークツリーの変更点を表示してくれます。
git diff (ローカルブランチ名) (エイリアス名/ブランチ名)
このコマンドは指定したローカルのブランチと指定したリモートリポジトリのブランチとの変更点を表示してくれます。右側にあるものが新しいものとして認識されます。
git logコマンド
コミットの履歴が見れるコマンド
git log
このコマンドはローカルリポジトリのコミットの履歴を表示します。上の物が新しく下に行くほど古い物になります。
git log -n (数字)
このコマンドは数字で指定した分のコミットの履歴を新しい物から表示します。
git log -p
このコマンドはコミット履歴に何を変更したのかまで表示してくれるようになります。
git log (ファイル名)
このコマンドは指定したファイルのコミット履歴を表示してくれます。
git statusコマンド
現在のディレクトリの状態を確認するコマンドです。
git status
このコマンドはワークツリーで変更を加えたファイルがあるのか、git addしたのか、git commitしたのかどうかを表示してくれます。
git stashコマンド
コミットしていない変更を退避させることが出来るコマンド
git stash
このコマンドはコミットされていないローカルの変更差分を退避させます。追跡されていないファイルや無視に設定されたファイルは退避されません。「-u」をつけると未追跡のファイルも「-a」を付けると無視されたファイルも退避できます。
git stash save "メッセージ"
このコマンドはメッセージ付きで退避させることができます。ことらも追跡されていないファイルや無視に設定されたファイルは退避されません。「-u」をつけると未追跡のファイルも「-a」を付けると無視されたファイルも退避できます。
git stash list
このコマンドは退避された変更を一覧で確認できます。
git stash pop
このコマンドは最新の退避させた変更を現在のブランチに反映させつつ一覧からは削除されます。リスト番号を指定するとその番号の変更を反映させます。
git stash apply
このコマンドは最新の退避させた変更を現在のブランチに反映させて一覧に残します。リスト番号を指定するとその番号の変更を反映させます。
git stash drop
このコマンドは退避リストの最新の物が削除されます。リスト番号を指定するとその番号の変更を削除します。
以上よく使われるようなコマンドでした。
他にもあれば追記したり別で記事を作ろうと思います。