Gitは開発者にとって欠かせないツールですが、その多様なコマンドを覚えるのは一苦労です。
ここでは、日常的によく使うGitコマンドをわかりやすくまとめてみました。これらのコマンドは、開発の効率を上げるのに役立ちます。
push
変更をプッシュした後に前の状態に戻す
プッシュ後に「あ、間違えた!」と思ったことはありませんか?以下のコマンドで、特定のコミットに戻って再度プッシュできます。
git log --oneline // コミットハッシュを取得
git reset --hard <commit-hash> // 特定のコミットハッシュに戻る
git push origin <branch-name> --force // 強制的にリモートにプッシュ
クローン後、新しいリポジトリにpushする
既存のリポジトリをクローンして、新しいリポジトリにプッシュする方法です。
git remote set-url origin <新しいリポジトリのURL>
git remote -v
git branch -M main
git push -u origin main
commit
コミットを消す
コミットを取り消したい場合はresetコマンドを使います。取り消すコミットを確認するためにlogコマンドとセットで使われることが多いです。
git log --oneline
git reset オプション コミットID
# オプション
–soft
コミットされていない変更として残ります。
主に「コミットの内容を変更したい」時に使います。
–hard
こちらのオプションでは変更も全て削除されます。
「途中まで対応していたが結局対応不要になった」時などに使います。
他にもrevertコマンドがあります。
git revert コミットID
最後のcommitの状態に戻す
作業ディレクトリの変更を取り消したい場合は、以下のコマンドが便利です。
git checkout . // 直前の状態に戻す
git checkout <ファイル名> // 特定のファイルの変更を取り消す
プッシュしていないコミットを一覧表示
プッシュ前のコミットを確認するには、このコマンドを使います。
git log @{u}..
merge
マージを削除する
マージを取り消し、最初のmergeコマンドを実行する前の状態に戻ります。
git merge --abort
他のブランチを、mainブランチと同じ状態にする
特定のブランチをmainブランチと同期させたい場合は、以下のようにします。
git fetch origin
git checkout ブランチ名
git merge origin/main
リモートの特定ブランチから、ローカルの特定のブランチへ変更を取り込む方法
git fetch origin
git cehckout 反映させたいブランチ
git merge origin/feature/Issues_#16
リモート
リモート上の、ファイル名変更
リモートリポジトリ上でファイル名を変更する方法です。
git mv 古いファイル名 新しいファイル名
// このコマンドは以下の3つのコマンドと同じ意味を持つ
mv 古いファイル名 新しいファイル名
git rm 古いファイル名
git add 新しいファイル名
リモート上の、ファイルを削除
リモートリポジトリからファイルを削除する方法です。
git rm // ワークツリーとローカルリポジトリの両方から削除
git rm --cached ファイル名 // ローカルリポジトリからのみ削除
git rm -r ディレクトリ名 // ディレクトリごと削除
リモートのリポジトリ名を変更した時、ローカル環境のリポジトリ名も変更
リモートリポジトリのURLが変更された場合、ローカルリポジトリのURLも更新する必要があります。
git remote set-url origin 新しいリポジトリURL
おわり
これらのコマンドは、日々の開発作業をスムーズに進めるために非常に役立ちます。Gitのコマンドは多岐にわたりますが、これらは特に頻繁に使われるものです。適切に使いこなすことで、開発の効率が大きく向上します。