本記事では、私が主にVSCodeを用いて作業を行う際、実際に使用するGitのコマンドを紹介します。
また紹介するのはコマンドのみとなるので、それに伴う専門知識(プル、コミットなど)に関する説明は割愛しております。
基本的なGitコマンド
始めに、使う頻度が多いGitコマンドを紹介します。
//ローカルにあるブランチの名前を全て確認する。
git branch
//ローカルとリモートにあるブランチの名前を全て確認する。
git branch -a
//ブランチ作成
git branch -c 新しく作るブランチの名前
//作業ブランチを、指定したブランチに変更する。
git checkout チェックアウトしたいブランチ名
//リモートからブランチをコピーしつつ、そこにチェックアウトする。
git checkout -b 新しく作るブランチの名前 origin/リモートからコピーしたいブランチの名前
//指定したローカルブランチを削除する。
git branch --delete ブランチ名
ブランチに関するコマンドです。
--deleteでブランチを削除するとき、削除するブランチにマージしていない変更があるとエラーになるので、削除する前に確認をしておきましょう。
//フェッチを行う。
git fetch
//指定したブランチから、作業ブランチにマージを行う。
git merge origin マージを行うブランチ名
//指定したブランチから、作業ブランチにプルを行う。
git pull origin プルを行うブランチ名
次にフェッチ・マージ・プルです。
フェッチを行うとリモートにあるブランチを取り込みます。git branch -a でリモートブランチを確認をする前にはフェッチを行います。プルはフェッチとマージを同時に行うので、リモートの変更を取り入れたい場面ではプルのみを行うことが多いです。
また origin ブランチ名 を省略してもマージ・プルは行われます。
//全ての変更をステージする。
git add .
//ステージした変更をコミットする。
git commit -m "コメント"
//コミットした変更をリモートブランチにプッシュする。
git push origin ブランチの名前
次にステージ・コミット・プッシュです。
リモートブランチに変更をプッシュする際、このコマンドを上から順番に打ち込みます。
add . は add と . の間に半角スペースがあるので注意してください。
git reset --soft HEAD^ //直前のコミットを、コミットを行う前まで戻す。
プッシュを行う前の段階で、コミットを取り止めたい場合、私はこのコマンドをよく使っています。他にも方法はありますが、プッシュする前であればこのコマンドを使用します。softをhardに変えると、ファイル内の変更も消え、ワークツリーからも消されます。
stashで変更を保存・取り出す
次にスタッシュをご紹介します。こちらは作業ブランチで行った変更を一時的に保存できるコマンドです。
//スタッシュにステージ前の変更をコメントを残しながら全て保存する。
git stash save -u "コメント"
//スタッシュ内に保存したファイルをコメントと共に全て見る。
git stash list
git stash save -u を行うと、その作業ブランチは全て変更前に戻るので、ブランチを変更する前やプル・マージを行う前にも利用できます。
また git stash list を打ち込むと以下のような結果が返ってきます。
stash@{0}: On 保存した時のブランチの名前: コメント
stash@{1}: On 保存した時のブランチの名前: コメント
stash@{2}: On 保存した時のブランチの名前: コメント
{}の中にある番号はスタッシュの中に保存した順番となっていますが、古い順に並んでいるのではなく、新しく入れたものが{0}となり、古いものは1つずつ数字が大きくなっていきます。この番号は次のコマンドで使用します。
//指定した番号に該当する変更を全てコピーする。
git stash apply 番号
//指定した番号に該当する変更をすべて削除する。
git stash drop 番号
この時 git stash apply で取り出した変更はコピーなので、再び同じ番号を打ち込めば同じ変更を取り出すことができます。また、 git stash drop で削除した変更は再度取り出すことが不可能なので、削除する際はコメントなどを参照しながら実行しましょう。
最後
今回紹介したコマンド以外にも作業が効率化されるコマンドはいくつも存在しています。しかし簡単に扱える半面、きちんと覚えるまでは間違いも起こりやすいです。特にコミットやスタッシュを削除する行為は、取り返しのつかない場合がほとんどです。
便利なコマンドですが、慣れるまでは調べながら慎重に作業を進めていくことをお勧めします。