3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【🔰初心者向け】Git入門 [add, status, commit, push]

Posted at

はじめに

こんにちは!ITスクールRareTECHにてCS(Customer Support)を担当している池村です。今回の記事はGitの基本コマンドについてです。Gitは初心者にとって難しいと感じる領域ですが、コマンド一つ一つをしっかり理解していけば問題はありません。

今回の記事では、クローンしてきたリポジトリに変更を加え、それをリモートに反映させるまでをみていきます。

前回の記事からの続きですので、まずは以下の記事を一読お願いいたします。

f50a364d-d50c-415e-921c-6c24e1b23ea2_720.png

クローンしてきたローカルリポジトリについて

まずはクローンしてきたリポジトリの中に何があるのかを確認していきましょう。
前回の記事では、README.mdだけ準備したリポジトリをクローンしてきました。

ご自身のPCにあるリポジトリのことをローカルリポジトリと呼びます。

何があるのかを確認する
ls -a

上記のコマンドを叩くと、以下のようなファイル・ディレクトリがあると思います。

表示結果
.         ..        .git      README.md

ここで大事になるのは.gitディレクトリです。
この.gitディレクトリが置いてあるディレクトリは、Gitの管理下にあるという証明になります。

以下の記事でも紹介しましたが、これがホームディレクトリにあると、様々な問題が発生しますので、ご注意ください。

さて、この.gitの中身ですが、初心者は覚える必要がないものです。
ただ、一応表として残しておきます。Gitの理解を深めたい時に参照してください。

ディレクトリ / ファイル 役割
HEAD 現在のブランチの最新コミットを指す
config リポジトリの設定情報
hooks/ コミット時のスクリプト
index ステージングエリアの状態を保持
logs/ HEAD やブランチの移動履歴
objects/ すべての Git データ(コミット・ファイルのバージョン)
refs/ ブランチやタグの参照情報を管理

ファイルを追加してみる

では何かしらのファイルを追加してみましょう。

ファイルの追加
touch test.txt

上記のコマンドを叩くと、test.txtというファイルが追加され、ワーキングツリーに変更が加えられた状態になります。

ワーキングツリーとは、実際に作業しているファイルやディレクトリの状態を指す用語です。

statusコマンドで、変更がされたかどうか確認をする

statusコマンドで確認
git status

image.png

ここで赤く表示されているのが、変更が加えられたファイルです。
この英語で書かれている部分を日本語にすると以下になります。

日本語にしてみる
現在のブランチ: main  
このブランチは 'origin/main' と同期しています。  

未追跡のファイル:  
  (`git add <ファイル名>` を実行すると、コミット対象に追加できます)  
        test.txt  

コミットに追加されたファイルはありませんが、未追跡のファイルが存在します(`git add` を実行すると追跡できます)。

git addをしろ〜と言われているようですね。

ローカルでの基本的な操作の流れについて

ローカルリポジトリでの作業の流れをかいつまんで解説します。

  1. ファイルの中身を変更する or ファイルを追加する
  2. その変更をステージングエリアに乗せる(git add
  3. ローカルでの変更を確定させる(git commit
  4. ローカルの変更をリモートへ反映させる(git push

9.png

git statusコマンドは、変更を加えられたファイルが、現在どの領域にあるのかを確認できるコマンドです。

addをしてみる

ではファイルに変更を加えたところで、そのファイルをステージングエリアに乗せる作業を行います。ここで出てくるのがgit addコマンドです。

ステージングエリアに乗せる
git add test.txt

上記コマンドを叩いたあと、再度statusを確認していきましょう。

statusを確認
git status

image.png

画像のように、赤文字から黄色の文字に変わりました。
書かれている文章にも変化が現れましたね。

日本語にしてみる
現在のブランチ: main  
このブランチは 'origin/main' と同期しています。  

コミット予定の変更:  
  (`git restore --staged <ファイル名>` を使うとステージングを解除できます)  
        新規ファイル:   test.txt  

ステージングエリアに乗ったファイルを解除する方法は置いておいて、ステージングエリアに乗ったことは確定したので、今度はコミットをしてローカルリポジトリの変更を確定させましょう。

commitをしてみる

ではステージングエリアに乗ったファイルをコミットしていきます。

コミットする
git commit -m "test.txtの追加"

この""の中身はなんでも良いのですが、何を変更したのかわかりやすいメッセージを書きましょう。

コミットを完了させると、statusを見ても、何も表示されなくなります。
コミットが行われたかどうかは、git logで確認ができます。

image.png

git logについての詳細は、今後の記事で紹介いたします。

ここまでで以下のような作業をしています。
image.png

pushをしてみる

さて、ここまできたら、最後はリモートリポジトリに反映させるだけになります。
リモートリポジトリの状態を今一度確認しましょう。

image.png

まだGithub上にはREADME.mdしかありませんね。
ローカルで作成したtest.txtは存在しません。ではgit pushコマンドでリモートに変更を反映させていきます。

pushをしてみる
git push origin main

image.png

画像のような結果になりましたら、成功しています。
GitHubの方も確認してみましょう。

image.png

追加されていますね。ローカル→リモートの流れはこれにて終了です。

addcommitのオプションについて

addの使い方の応用

先ほどまではaddコマンドでファイルを指定しましたが、まとめてステージングエリアに乗せることができます。

まとめて乗せる
git add .

.を使うと、今いるディレクトリ以下にある、変更されたファイル類をまとめてステージングエリアに乗せることができます。

ファイルを複数指定して乗せることもできます。

複数指定
git add test2.txt test3.txt

commitの使い方の応用

commitの使い方に関しても色々な応用があります。
まずは、すでにcommitされているファイルに変更が加えられた場合に、addcommitを一緒に行う方法です。

addごと行う
touch test4.txt
git add test4.txt

git commit -m "test4.txtの追加"

echo "Hello World!!" >> test4.txt

git commit -a -m "test4.txtにHello World!!を追記"

多用することはないかな?と思っています

次にコミットメッセージを修正したい時に便利なオプションです。

直前のコミットメッセージを修正
git commit --amend -m "正しいコミットメッセージ"

直前のコミットで、コミットメッセージをミスったら、これを使ってください。

少々取り扱い注意ですが、--amendオプションでは、新規で追加した変更ファイルを、直前のコミットに追加することもできます。

新規変更を加えてコミットを修正
git add newfile.txt
git commit --amend --no-edit

上記コマンドを利用すると、直前のコミットに対してnewfile.txtの変更も加えられます。
--no-editのオプションは、コミットメッセージは変更しない時に使われるオプションになります。

すでにpushされたコミットに対して、変更を加えるとややこしいことになるのでお勧めしません。

おわりに

読了ありがとうございました。
これらのコマンドはGitのコマンドの中でも基本中の基本ですが、かなり大事なところですね。初心者がGitコマンドで一番怖いと感じるのは、おそらくコンフリクトだと思います。現在の記事内容まででは、まだ発生はしませんので安心してコマンドを実行してみてください。
では次の記事ではブランチについてと、pullmergeなどについて解説していきます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?