(Git) Gitの基本コマンドまとめ

git-basic-commands

 

Gitの基本的なコマンドを、簡単な使い方と一緒にまとめた。

 

git init <directory>

git リポジトリを作成するコマンド。

 

<directory>を指定しない場合、カレントディレクトリにgitリポジトリを作成する。

git init

 

<directory>を指定した場合、 指定ディレクトリにgitリポジトリを作成する。

git init ./test-dir

 

コマンド実施後は.gitというディレクトリが作られるが、
これがgit管理のデータなどが入っているリポジトリ情報の本体

 

git status

リポジトリの状態を確認するコマンド。

 

git add <file>

ステージングエリアへファイルを追加し、コミット対象にするコマンド。

 

<file>に関しては、半角区切りで複数のファイルを指定可能

git add file1.txt file2.txt file3.txt

 

<file>の代わりに、–allを指定すると、全てのファイルが追加対象となる

git add --all

 

 

git commit 

ステージングされているファイルをローカルリポジトリにコミットするコマンド。

 

-m <メッセージ>で、メッセージとともにコミット可能。

git commit -m "不具合を修正"

 

–amendを指定すると、直前のコミットメッセージを修正する。
コミット後、何もステージングされていない状態で行う。

git commit --amend

 

–amend–no-editを指定すると、コミットし忘れたファイルをコミットに含める
直前のコミットに適用。事前にファイルをステージングしておく。

git commit --amend--no-edit

 

 

git commit -a -m ‘コミットメッセージ’

変更のあったファイルをまとめてadd+commitするコマンド。
ただし、変更があったファイルのみであり、新規作成のファイルには適用されない。

 

git log

gitの履歴を表示するコマンド。

git log

 

<file>を指定すると、指定したファイルを含むログのみ表示する。

git log file.txt

 

-n <数字>を指定すると、指定した数字分だけログを表示する。

git log -n 10

 

–onelineを指定すると、コミット内容を一行にして表示する。
ハッシュ値は7桁のみ表示。

git log --oneline

 

–graphを指定すると、グラフィカルに視覚化されたgitログを表示する。

git log --graph

 

 

git diff

ファイルの変更差分を確認するコマンド。
使い方はたくさんあるので、別に詳しくまとめる。

 

git reset <file or commit id>

コミット履歴を過去に遡って、それ以降のコミットをなかったことにするコマンド。

<file>を指定すると、指定したファイルのステージングを取り消す。
つまりgit addの取り消し見たいなコマンド。
ワーキングディレクトリに影響はない。

git reset file.txt

 

<commit id>を指定すると、指定したコミットIDの位置まで戻り、ステージングエリアもその時まで戻す。ワーキングディレクトリに影響はない。

git commit <commit id>

 

その他使い方はたくさんあるので、別に詳しくまとめる

 

git checkout

<branch_name>で、指定したブランチに移動する 。

git checkout <branch_name>

 

<file> ステージングエリアの変更内容を、ワーキングディレクトリに上書きする
→後にgit reset <file>でアンステージもセットで行う。

git checkout file.txt

 

<commit id> <file> 指定したファイルを、コミットID時の状態に戻す

git checkout <commit id> file.txt

 

<commit id> プロジェクト内全てのファイルを指定したコミットID時の状態に戻す。閲覧用。git checkout <branch_name>を打つことで、元いた最新の状態に戻ることができる。

git checkout <commit id>

 

 

git revert <commit id>

<commit id>を指定すると、指定したコミットIDのコミットを打ち消すコミットをする。安全。

git revert <commit id>

 

 

git rm <file>

<file>を指定すると、指定したファイルをワーキングディレクトリとステージングエリアから削除する

git rm file.txt

 

–cached <file>を指定すると、指定したファイルをステージングエリアから削除する

git rm --cached file.txt

–cachedに関しては、下記の記事が関連記事としてあるので、参考までに。

git-rm-cached

(Gir) git rm —cachedで、リモートのファイルを削除する

 

git clean

git cleanはワーキングディレクトリの未追跡ファイルを削除するコマンド。

git clean

 

-n 削除せず、削除対象を表示するためのコマンド(ドライラン)

git clean -n

 

-f 削除時、強制削除

git clean -f

 

-d ディレクトリを対象とする

git clean -d

 

 

git mv <file> <新しい名前>

<file>で指定したファイルを新しい名前に変更する
コマンド実施後はステージングエリアに追加される。

git mv file.txt file_new.txt

 

git branch

git branchは、ブランチを一覧表示するコマンド
現在いるブランチは*が付いた状態で表示される。

<branch> 指定したブランチの作成

git branch development

 

-m <branch> 選択中のブランチ名を、指定したブランチ名に変更

git branch -m develop

 

-d <branch> 指定したブランチの削除。
マージされていないコミットがある場合や、チェックアウト中のブランチの場合は削除できない。

git branch -d develop

 

-D <branch> マージ残を無視して指定のブランチを削除。

git branch -D develop

 

 

git remote add <リモートリポジトリ名> <リモートリポジトリURL>

指定のリモートリポジトリ名を、
指定のリモートリポジトリURLに対して付与する
コマンド。

git remote add origin https://github.com/<account>/new-project.git

 

git push -u <リモートリポジトリ名> <branch>

指定のリモートリポジトリ名の指定のブランチに、
ローカルリポジトリのコミット内容を同期する
コマンド。

git push -u origin master

 

git clone

<リモートリポジトリURL> 指定したリモートリポジトリを、ローカルにセットアップする。
実行した場所にリポジトリディレクトリが作られる。

git clone https://github.com/<account>/new-project.git

 

<リモートリポジトリURL> <ディレクトリ名> 指定したリモートリポジトリを、
指定したディレクトリ名でローカルにセットアップする。

git clone https://github.com/<account>/new-project.git new-project-dev

 

git fetch

<指定なし> 現在いるリポジトリの最新情報を取得する。

git fetch

 

—all 全てのリポジトリの最新情報を取得する。

git fetch --all

 

 

git merge  

<branch> 指定したブランチの変更内容を現在のブランチに取り込む。

(fetchしてから)<リモートリポジトリ名/branch> 指定したリモートリポジトリのブランチのfetch結果を現在いるブランチに取り込む

 

git pull <リモートリポジトリ名> <branch>

指定したリモートリポジトリのブランチの最新状態を、
現在のブランチに取り込む(fetch&merge)。

git pull origin master

 

git blame <file>

対象のファイルを行ごとに誰がいつ記載したのか調べることができる

 

git stash

コミットされていないファイルの修正を一時的に保存しておく。保存した後は、修正をコミットしていなくても他ブランチにチェックアウト可能。

pop 保存しておいた修正内容を取り出す(後入れ先だし)。

 

git rebase

コミットを良い感じに整理してわかりやすくする。
使い方は複雑なので、別に詳しくまとめる

 

git cherry-pick <commit id>

指定したコミットを再コミットする。

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。