【Git】ローカル開発/基本操作でよく使うコマンド実施例

筆者の備忘録用に、ローカル開発におけるGitの基本コマンド実施例を纏めました。

Gitはインストール済、以下のプロジェクトディレクトリ(フォルダ)を用意し、エディタはVSコードを使います。

テスト用に準備したプロジェクトディレクトリ(Git-Practice)

Git-Practice/
├── index.html
├── css/
│ └── style.css
└── js/
└── script.js

目次

Git 初期化~初期コミットまで

STEP

VSコードでターミナルを表示する

まず、Gitのコマンドを入力・実行するためのターミナルを表示させます。
VSコードでは、カーソルを画面下の青色バー付近に持っていくと上下矢印に変わります。この状態で上方向にドラッグすると、ターミナルが出現します。

VSコードでターミナルの出し方
VSコードのターミナル画面

ちなみに画面は、Gitで管理するプロジェクトフォルダ(Git-Practice)を開いた状態です。

STEP

【git init】リポジトリを初期化(新規作成)する

git init

Gitで管理したいフォルダ(ディレクトリ)を開いた状態で上記コマンドを実行すると、「.git」という隠しフォルダ(Gitリポジトリ)が作成され、ここに履歴が保管されるようになります。

git init

初期化に成功すると「Initialized empty Git repository in ~」と表示され、Git-Practiceフォルダ下に「.git」という新しいフォルダが新規作成されました。

「表示タブ」にある隠しファイルにチェックが入っていないと表示されません。
STEP

【git add / git commit】初期コミットをローカルリポジトリに保存する

以下のコマンドを実行し、プロジェクトディレクトリ内の全てのファイルとフォルダをステージングエリア* に追加してGitの管理対象にします。

git add .

ステージングエリア(インデックスとも呼ばれる)は、コミットする前に変更を一時的に保持する場所です。

続いて以下コマンドを実行し、ステージングエリアに追加された変更をローカルリポジトリに保存(コミット)します。

git commit -m "最初のコミット"

コミットするときはコミットメッセージも合わせて記述し、簡潔な変更内容を残します。
メッセージを書き忘れるとターミナルでエディタ開いてしまいます。(エディタを閉じるには:q!を入力します。)

git add / git commit

git initgit add .git commit -m "最初のコミット"とコマンドを実行したときのターミナル

初期コミットを行った後は、実際にGit管理下のファイルを更新し、更新後にgit add .git commit -m "コミットメッセージ"で更新履歴をGitリポジトリに保存していきます。このように管理することで、都度のコミット履歴がGitリポジトリ(「.git」ファイル)に蓄積され、必要に応じて更新前のコードに戻ったり更新内容を修正したりできるようになります。

初期コミット後の基本的な操作

STEP

【git status】更新したファイルがステージングされているか確認する

git status

更新したファイルがgit addされているかを確認するコマンドです。
作業をしていると、どのファイルを更新したのか、その更新ファイルがステージングエリアに上がっているのか、わからなくなることがあります。そんなときに使うコマンドです。

実際に「index.html」ファイルを更新し、git statusで状況を確認してみます。

git status

「index.html」を更新し、git add .する前にgit statusを実行したときの画面

git status

「index.html」を更新し、git add .した後にgit statusを実行したときの画面

STEP

【git log】コミット履歴を確認する

git log

すべてのコミット履歴を確認するコマンドで、更新者(Author)や日時(Date)、コミットメッセージに、コミット毎に割り振られる固有番号(ハッシュ)を確認できます。(このハッシュを使うことで、その時点のコミットに戻ることができます。)

git log

git logを実行したときの画面。STEP3,4でコミットした2つの履歴が表示されています。

コミット履歴を1行で簡潔に表示させるコマンドもあります。(個人的には、こちらの方を頻繁に使います。)

git log --oneline

このコマンドを実行すると、すべてのコミット履歴を1行ずつリスト表示してくれます。

git log --oneline

git log --onelineを実行したときの画面。ハッシュとコミットメッセージのみが1行で簡潔に表示されました。

git logには、--oneline以外にも様々なオプションが用意されています。詳しくは こちら の記事をご参照ください。

STEP

【git commit –amend】直前のコミットを修正する

git commit --amend -m "新しいコミットメッセージ"

直前にコミットした内容を修正したいときに使うコマンドです。
コードが間違っていたので少し修正したい、メッセージだけを変えたいなど、新しくコミットを作るまでもないときに使います。

STEP1で更新した内容を少し修正し、git commit --amend -m "タイトル(ホーム)を追加"を実行します。
その後、git log --onelineでコミット履歴が変化していないか確認します。

git commit --amend -m

無事、直前のコミットのハッシュとメッセージが更新されました!

STEP

【git checkout】特定のコミットに戻る

git checkout ハッシュ

git log等で確認したハッシュを入力することで、その時点のコミットに戻るコマンドです。

git checkout 9942a1dで、最初のコミットに戻ってみます。

git checkout

git checkoutを実行すると、英語の長文コメント(今後のコミットに関するアドバイス)も表示されました。
ここでは「ブランチ」という仕組みについても言及されていますが、本記事では割愛します。

また、以下コマンドを実行することでこのアドバイスを非表示にできます。

git config advice.detachedHead false
STEP

【git reflog / git checkout】最新のコミットに戻る

git checkoutで過去のコミットに戻った後、再び最新のコミットに戻るには、同じようにgit checkoutと最新コミットのハッシュを使います。

ただし、過去のコミットに戻った状態でgit logを実行してもそれ以前のコミットしか表示されません。
git logの代わりにgit reflogを使えばGitの操作履歴を表示することができるので、ここで最新コミットのハッシュを調べることができます。

git reflog

あるいは、直接ブランチ名を指定してcheckoutすることでも戻れます。(ブランチについては こちら

通常、最初に作業しているブランチはmainmasterという名前がデフォルトで付いているので、そのブランチ名を指定してcheckoutします。

git checkout main

最新のコミットに戻るだけなら、こちらの方がシンプルで簡単ですね。

git reflogで操作履歴を確認し、checkoutを使って最新のコミットに戻ってみます。

git reflog

※また、上述の通りgit checkout mainでも戻れます。

STEP

【git reset】更新を破棄して戻る

git reset --hard ハッシュ

これまでの更新内容は破棄し、指定したコミットに戻るコマンドです。
--hardオプションを付けると作業ディレクトリで更新した内容も破棄されてしまうので、実行するときは注意しましょう。

git log --onelineで戻りたいコミットのハッシュ(99f2a1d)を確認し、git reset --hadr 99f2a1dを実行してみます。

git reset --hard

これまでの更新内容が破棄され、最初のコミット(99f2a1d)に戻りました。

以上、ローカル開発でよく使うGitコマンドの実行例をご紹介しました。
次のステップとしてブランチ開発についても纏めましたので、以下も合わせてご覧ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次