2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHubの使い方その1

Last updated at Posted at 2024-01-19

仕組み

スクリーンショット 2024-01-19 11.22.30.png

ローカルは3つのエリアに分かれている
ワークツリー
ステージ
リポジトリ
  1. まず、プログラムのファイルの変更等はワークツリーで行う。
  2. git addでそのファイルをステージに追加。
  3. git commitでステージから(ローカル)リポジトリに追加。

1. Gitプロジェクトを作成する

1-1. 試しにgit_tutorialという名前でディレクトリを作成してGit管理を初期化。
 # 今いるディレクトリにgit_tutorialディレクトリを作成する
mkdir git_tutorial

# 作成したディレクトリに移動する
cd git_tutorial

# git管理をはじめる
git init
# Initialized empty Git repository in /hogehoge/git_tutorial/.git/

スクリーンショット 2024-01-19 12.30.26.png
試しにデスクトップを確認↓ちゃんと作成できています。
スクリーンショット 2024-01-19 12.28.55.png

1-2. 変更をステージに追加する

先ほど作成したgit_tutorialディレクトリににtest.mdという名前のファイルを作成して、ステージに追加addします。

  • まずはファイルの作成。
# echoコマンドで出力した文字列をtest.mdファイルに追記する
echo "# ABCD" >> test.md

# 作成されたファイルを確認する
cat test.md
# git_tutorial

ちゃんと出来ています!
スクリーンショット 2024-01-19 12.43.56.png

  • 次にこのファイルをステージに追加。変更をステージに知らせる作業になります。
    各用途ごとのコマンドは以下
# ファイルごとにステージに追加する
git add <ファイル名>

# ディレクトリごとステージに追加する
git add <ディレクトリ>

# ワークツリーの変更をすべてステージに追加する
git add .

ここで変更状況の確認を一旦してみます。

現在は、ワークツリーでtest.mdという名前のファイルを作成して、ステージに追加されている状況で、まだローカルリポジトリには反映されていないはず。
そんな時は、

# 変更状況を確認する
git status

スクリーンショット 2024-01-19 12.53.42.png
まだ、下記のファイルがコミットされていないよとお知らせしてくれる。
ちなみに表示されているgit rm --cached <file>はそのファイルを削除するコマンドになる。

1-3. ローカルリポジトリにコミットする

git commitで、ステージに追加されているファイルをローカルリポジトリに反映させます。この作業をして初めて、プログラムの変更のスナップショットがローカルリポジトリに記録される。

git commit -m ‘最初のコミット’
# [main e21164e] ‘最初のコミット’
# 1 file changed, 1 insertion(+)
# create mode 100644 README.md

-mで、メッセージをつけてコミットできる。

ここで先ほどと同様に、git statusで変更状況の確認をしてみます。

スクリーンショット 2024-01-19 13.03.01.png
nothing to commit, working tree clean これは、変更が全てコミットされてるよとのことなのでこれでOK。

1-4. ファイルの内容を修正して変更履歴を確認する
  1. 先ほど作成してコミットしたファイルtest.mdに文字を追加。
  2. ステージに登録する前後でワークツリー内での変更をgit diffコマンドで確認。
  3. 変更をステージに追加git add .
  4. ステージの変更を確認する
# README.mdに変更を追加する
echo "あいうえお" >> test.md

# ワークツリーの変更を確認する
git diff

# 変更をステージに追加する
git add .

# ワークツリーの変更を確認する
git diff

# ステージの変更を確認する
git diff --staged

スクリーンショット 2024-01-19 13.25.41.png

  • 記号は追加された行を示していて、
    @@ -1 +1,2 @@ は変更が行われた部分のコンテキストを示している。この場合、元のバージョン(-1)と新しいバージョン(+1,2)の行が変更された意味。
  • ステージに追加して、もう一度git diffをしてみると何も表示さえれない。このことからもgit diffはワークツリーで変更してまだステージに登録していない変更内容を表示してくれるコマンドだとわかる。
    スクリーンショット 2024-01-19 13.31.36.png
  • 次にgit diff --stagedで、ステージの変更内容が表示される。先ほど登録したにようが表示される。
    スクリーンショット 2024-01-19 13.35.05.png
1-5. 変更履歴を確認する

ここまでのコミットの内容を確認したい場合はgit logコマンドでログを確認できる。
スクリーンショット 2024-01-19 13.45.49.png
各用途ごとのコマンドは下記

# コミットログを確認する
git log

# コミットログを一行で表示する
git log --oneline

# ファイル単位でコミットログを確認する
git log -p index.html

# 表示するコミット数を制限する
git log -n <コミット数>

1-6. 削除や移動のコマンド
# ワークツリーとローカルリポジトリからファイルを削除する
git rm <ファイル名>

# ワークツリーとローカルリポジトリからディレクトリを削除する
git rm -r <ディレクトリ名>

# ローカルリポジトリからは削除するが、ワークツリーにはファイルを残したいとき
git rm --cached <ファイル名>


# ファイルの移動をおこなう。`git add`と同じようにこのコマンドでファイルの移動もできる。
git mv <旧ファイル> <新ファイル>

# ファイルを移動する
mv <旧ファイル> <新ファイル>

# 古いファイルの削除
git rm <旧ファイル>

# 新しいファイルを追加
git add <新ファイル>


《感想》
変更のログを記録できるのはとても便利。もしチームで開発するときは、ステージに登録の時点でチーム内で確認するのかな?

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?