Git

Gitの一連の基本操作を学ぶ簡単チュートリアル

更新日:

こんにちは、コロナウイルスの影響で在宅ワーカーになったShinyaです

今回のテーマはGitの基本操作です

Gitの操作って実際にやらないと感覚的にも分からないところが多いので、今回はチュートリアル形式で学んでいきましょう

OSはWindowsとして、なるべくターミナルからのコマンドだけで進めていきます!

内容を100%理解できなくても、チュートリアル通り進めれば上手くいくのでとりあえず手を動かしてみてくださいね

使用コマンド

Git:git init, git status, git add, git rm, git commit, git log, git branch, git checkout, git merge
Windows:mkdir, cd, mk, echo, more, start

フォルダ作成

フォルダを作りたい場所で

> mkdir git_sample #git_sampleフォルダ作成
> cd git_sample #git_sampleフォルダへ移動

ローカルリポジトリ作成(Git開始)

> git init #ローカルリポジトリ作成

ファイル作成

> mk sample.txt #sample.txt作成
> echo this is sample.txt > sample.txt #sample.txtに"this is sample.txt"と書き込む

ファイルの中身を確認してみる

> more sample.txt #sample.txtの中身を表示
this is sample.txt

ファイルの状態チェック

> git status #ファイルの状態チェック 以下応答
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        sample.txt

nothing added to commit but untracked files present (use "git add" to track)

sample.txtが未追跡ファイルと言われている

インデックスへ登録

> git add . #フォルダ内の全ファイルをインデックスに登録(sample.txtだけ)

再びファイルの状態をチェックすると

> git status #ファイルの状態チェック 以下応答
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   sample1.txt

sample.txtがコミット予定の新規ファイルとしてインデックスに登録されている

インデックス登録を解除

間違ってインデックスに登録した場合を想定して、インデックスの登録を解除する

> git rm -cached sample.txt #sample.txtファイルは消さずにインデックスへの登録のみを打ち消す

もう一回ファイルの状態をチェックする

> git status #ファイルの状態チェック 以下応答
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        sample1.txt

nothing added to commit but untracked files present (use "git add" to track)

sample.txtが再び未追跡ファイルになっている

コミットする

再びインデックスに登録して、コミットまで行う

> git add . #インデックスに登録
> git commit -m "add_sample.txt" #メッセージ付きでコミットする 以下応答
[master (root-commit) 09c36c5] add_sample.txt
 1 file changed, 1 insertion(+)
 create mode 100644 sample.txt

コミット履歴を確認

> git log #コミット履歴を確認 以下応答
commit 09c36c52901a838a200c79d7cc1fd875fa94d064 (HEAD -> master)
Author: shinya
Date:   Tue Apr 14 19:30:12 2020 +0900

    add_sample.txt

ここで再びファイルの状態をチェックすると

> git status #ファイルの状態チェック 以下応答
On branch master
nothing to commit, working tree clean

ワーキングツリー(作業フォルダに)コミットするべきものはない(=全てコミット済み)と言われる

ブランチ確認

> git branch #ブランチ確認 以下応答
*master

masterブランチしかないことが分かる

*masterの * は現在フォルダが属しているブランチを示している

ブランチ作成

> git branch task_1 #task_1ブランチを新規に作成
> git branch #ブランチ確認 以下応答
*master
task_1

task_1ブランチが作成されていると分かる

ブランチ切り替え

> git checkout task_1 #task_1ブランチに切り替える 以下応答
Switched to branch 'task_1'

ブランチを確認すると

> git branch #ブランチ確認 以下応答
master
*task_1

現在の作業フォルダがtask_1ブランチに切り替わったと分かる

sample.txtの内容を確認してみると何も変更してないのでそのまま

> more sample.txt #ファイルの中身を表示 以下応答
this is sample.txt

ファイル内容書き換え

task_1ブランチの作業としてsample.txtの内容を書き換える

> start sample.txt #sample.txtを開く

メモ帳か何かでsample.txtが開くので、テキストをすべて消して新たに"i am on task_1"と書き込んで、「Ctrl + s」、「Ctrl + w」で保存して閉じる

sample.txtの内容を確認する

> more sample.txt #ファイルの中身を確認 以下応答
i am on task_1

"this is sample.txt"から"i am on task_1"にsample.txtの内容が変わった

コミットまでする

> git add . #インデックスに登録
> git commit -m "change_sentence_in_sample.txt" #コメント付きでコミット 以下応答
[task_1 f068a7a] change_sentence_in_sample.txt
 1 file changed, 1 insertion(+), 1 deletion(-)

masterブランチへ戻る

> git checkout master #masterブランチへ戻る
> git branch #ブランチ確認
*master
task_1 

sample.txtの内容を確認する

> more sample.txt #ファイルの中身を確認 以下応答
this is sample.txt

masterブランチではsample.txtの内容は変更されていないことが分かる
("this is sample.txt"のまま)

マージする

> git merge master task_1 #task_1ブランチでの変更をmasterブランチに反映する 以下応答
Updating 09c36c5..f068a7a
Fast-forward
 sample.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

sample.txtの内容を確認する

> more sample.txt #ファイルの中身を確認 以下応答
i am on task_1

task_1の変更がmasterブランチに反映されていると分かる

ブランチを削除する

> git branch -d task_1 #task_1ブランチを削除
> git branch #ブランチを確認 以下応答
*master

task_1ブランチが削除されていることが分かる

-Git
-

Copyright© 初心者のためのプログラミング独学ブログ , 2020 All Rights Reserved Powered by STINGER.