操作

基本的なGitの操作を紹介します。 ここで紹介していないコマンドやオプションについては 公式ドキュメント を参照ください。

Reference: https://git-scm.com/docs

init 空のリポジトリを作成

空のリポジトリを作成するコマンドです。

git init

この操作を実行するとカレントディレクトリに .git ディレクトリと中身、デフォルトの名前のブランチが作成されます。 初期のブランチ名を指定したい場合は`-b`オプションで指定します。

git init -b "ブランチ名"

clone クローン

すでに存在するリポジトリをローカル環境に複製する操作です。 複製元となるリポジトリはローカルでもリモートでも問題ありません。

../_images/0104.png

GitHUbのリモートリポジトリからクローンするイメージ

基本のコマンドである以下を実行するとデフォルトではカレントディレクトリに指定されたリポジトリの名前のフォルダが作成され、その中にリポジトリの複製が作成されます。 作業ディレクトリにはデフォルトのブランチの状況のファイル群が書き出されています。

git clone <リポジトリのパス>

ブランチを指定してクローンしたい場合は`-b`オプションで指定します。

git clone  -b "ブランチ名" <リポジトリのパス>

add ステージングする

追跡されていないファイルや変更されたファイルをステージングエリアに移動する操作です。

../_images/0203.png

addのイメージ

以下のようにステージングしたいファイルまたはフォルダを指定して実行します。

git add <ファイルまたはフォルダのパス>

add はオプションが沢山ありファイル内の変更の一部のみをステージング等もできます。VScode等を使用することで非常に感覚的に使用できます。

commit コミット

ステージングされている変更を反映させた状態の作業ディレクトリのスナップショットをログメッセージと共に保存します。 厳密にどのような処理が行われているかは割愛します。

../_images/0302.png

コミットのイメージ

コミットも沢山オプションがありますが、基本的に以下のみでも実行できます。

git commit

branch ブランチ

ブランチの一覧を表示する、ブランチを作成するなどのブランチに対する操作を行う。

ブランチの一覧を表示

ローカルブランチを表示

git branch

リモートブランチを表示

git branch -r

ローカル、リモートすべてのブランチを表示

git branch -a

ブランチを新たに作成

HEADのコミットから指定した名前で新しいブランチを作成する。 作成したブランチへは自動で切り替えは行われない。

git branch "ブランチ名"
../_images/0401.png

新規ブランチ作成のイメージ

checkout チェックアウト

ブランチを移動する操作です。ブランチを移動すると作業ディレクトリの中身はブランチが指すコミット時の状態に切り替わります。

ブランチを切り替える

既存のブランチを指定して切り替えます。

git checkout "ブランチ名"
../_images/050.png

ブランチ切り替えのイメージ

ブランチを新たに作成して切り替える

HEADのコミットから新たにブランチを作成して、作成したブランチに切り替えます。

git checkout -b "ブランチ名"
../_images/0601.png

ブランチを作成して切り替えるイメージ

ブランチの開始位置を指定して新たにブランチを作成し切り替えることもできます。 作成するブランチの開始位置 には「コミットを示すハッシュ(40桁の16進数)」、「ブランチ名」「タグ名」「HEAD」を指定する。

git checkout -b "作成したいブランチ名" <作成するブランチの開始位置>

コミットにチェックアウトする

チェックアウトはブランチだけではなく任意のコミットを指定してチェックアウトすることも可能です。 一時的に過去のファイルを確認したい場合などに行いますが、detached HEAD状態なのでこの状態でコミットをする際には気をつけまましょう。

git checkout "コミットのハッシュ"
../_images/0701.png

コミットにチェックアウトするイメージ

push プッシュ

ローカルリポジトリの変更をリモートリポジトリに反映させる操作です。

オプションが多数あるが、基本のコマンドは以下。

git push <リモートリポジトリ> <プッシュするブランチ>
../_images/0801.png

pushのイメージ

コマンドで操作するとめんどくさいが、SourcetreeやVScode等を使えば簡単に操作できる。

pull プル

リモートリポジトリの変更をローカルリポジトリに反映させる操作です。

オプションが多数あるが、基本のコマンドは以下。

git pull <リモートリポジトリ> <プルするブランチ>
../_images/090.png

pullのイメージ

コマンドで操作するとめんどくさいが、SourcetreeやVScode等を使えば簡単に操作できる。

fetch フェッチ

リモートリポジトリの変更履歴をローカルに持ってくるが、変更は反映させない。

オプションが多数あるが、基本のコマンドは以下。

git detch <リモートリポジトリ> <プルするブランチ>
../_images/100.png

fetchのイメージ

コマンドで操作するとめんどくさいが、SourcetreeやVScode等を使えば簡単に操作できる。