gitの基本コマンドまとめ

はじめに

Gitは、ソフトウェア開発におけるコードのバージョン管理と協力作業を容易にするための分散型バージョン管理システムです。高い効率性、信頼性、および柔軟性を提供することで、世界中の開発者に広く採用されています。ここでは、gitの基本コマンドを解説していきます。

git init

git initは新しいリポジトリの作成。または、既存のリポジトリを初期化します。

$ git init <directory>

git clone

git cloneはリモートリポジトリのクローンをローカルに作成します。

$ git clone <repository> <directory>

git add

git addは変更をステージングエリアに追加します。

$ git add <filepath>

すべてのファイルを追加

$ git add -A

変更があったすべてのファイル

$ git add -u

git commit

git commitはステージングされた変更をリポジトリにコミットします。

$ git commit -m "commit message"

git push

git pushはーカルの変更をリモートリポジトリに送信します。

$ git push -u origin main

-uはローカルブランチとリモートブランチ間のデフォルトの関連(upstream)を設定します。

originはリモートリポジトリのデフォルトの名前です。


「ローカルの main ブランチを origin リモートの main ブランチにプッシュし、今後の操作のためにこのブランチの関連を設定する」という意味になります。

git pull

git pullはリモートリポジトリの変更をローカルに取り込みます。

$ git pull <remote> <branch>

git status

git statusは作業ツリーのステータスを表示します。

$ git status

git branch

git branchはブランチのリスト、作成、または削除をします。

ブランチ一覧表示

$ git branch

ブランチ作成

$ git branch <branch-name>

ブランチ削除

$ git branch -d <branch-name>

git checkout

git checkoutはブランチを切り替えるか、作業ツリーファイルを復元します。

ブランチの切り替え

$ git checkout <branch-name>

ファイルを特定のバージョンに戻す

$ git checkout commit-hash -- file-path

git merge

git mergeはGitでブランチを統合するために使用されます。このコマンドを使用することで、異なるブランチの変更を一つにまとめることができます。


別のブランチを現在のブランチにマージする

$ git merge <branch-name>

このコマンドは、branch-name というブランチの変更を現在チェックアウトしているブランチにマージします。例えば、master ブランチにいる場合、git merge feature は feature ブランチの変更を master にマージします。

git rebase

git rebaseは別のベースチップの上にコミットを再適用します。

Gitでコミット履歴を再構築するために使用されます。このコマンドは、ブランチのベースを変更することで、よりクリーンなコミット履歴を作成するのに役立ちます。


現在のブランチを別のブランチにリベースする

$ git rebase base-branch

git stash

git stashは作業中の変更を一時的に保存し、後で再適用するために使用されます。これは、別のブランチに切り替える必要があるが、現在のブランチでの作業をまだコミットしたくない場合に特に便利です。


現在の変更をスタッシュに保存する

$ git stash save "stash-name"

スタッシュリストを表示する

$ git stash list

スタッシュした変更を適用する

$ git stash apply stash@{n}

スタッシュを削除する

$ git stash drop stash@{n}

git cherry-pick

git cherry-pickは別のブランチから特定のコミットを現在のブランチに適用するために使用されます。これにより、必要な変更のみを選択的に取り込むことができます。

$ git cherry-pick commit-hash

commit-hash で指定されたコミットを現在のブランチに適用します。

git bisect

git bisectはバグや問題が導入された特定のコミットを効率的に特定するための強力なツールです。


git bisect セッションを開始

$ git bisect start

問題のないコミットを指定(良いコミット)

$ git bisect good commit-hash

問題のあるコミットを指定(悪いコミット)

$ git bisect bad commit-hash

bisect セッションの終了

$ git bisect reset

.gitフォルダの削除

$ rm -fr .git