LoginSignup
1
0

More than 3 years have passed since last update.

GitとGit Hub 入門(2/3)

Last updated at Posted at 2019-10-12

前の記事はこちら

GitとGit Hub 入門(1/3)

Gitの基本的な操作を学ぼう

用語

ステージング

コミットに含めるファイルやディレクトリの変更内容を記録するところ

コミット

前回コミット時の状態とステージングに登録されたファイルやディレクトリの差分(追加・変更・削除)を、リポジトリに記録する

プッシュ

リモートリポジトリに対して、ローカルリポジトリでコミットした変更内容を反映する

プル

ローカルリポジトリに対して、リモートリポジトリに行われた変更内容を反映する

ブランチ

リポジトリの分岐。デフォルトではmasterブランチのみ存在するが、ソースコードを修正するときにはmasterブランチをコピーして他の修正用ブランチを作成し、修正用ブランチでの変更が完了したらmasterブランチに変更内容をマージする。こうすることで、複数人での変更作業が可能になる。

基本的なステップ

  1. コミットするファイルを選んでステージングに追加する。
  2. ステージングに登録された変更内容をコメントをつけてコミットする。
  3. ローカルリポジトリにコミットされた内容をリモートリポジトリにプッシュする。

ファイルの作成

では、実際にローカルポジトリで変更管理してみましょう。まずは、ローカルリポジトリでファイルを作成します。

$ touch test1
$ touch test2
$ ls -l
total 0
-rw-r--r--  1 hoge  staff  0 10 12 18:09 test1
-rw-r--r--  1 hoge  staff  0 10 12 18:09 test2

2ファイル作成できましたね。

ファイルをステージングに追加

次に、git statusというコマンドを実行してみましょう。


$ git status
On branch master

No commits yet

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

    test1
    test2

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

Untracked files に、先ほど作成したファイルがありますね。
ちなみに、On branch masterというのは、今はローカルリポジトリのmasterブランチで作業していますよ、ということです。

では、test1のファイルだけをコミットするためにgit addでステージングに追加しましょう。

$ git add test1
$ $ git status
On branch master

No commits yet

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

    new file:   test1

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

    test2

test1ファイルのみがステージングに登録されました。

ファイルのコミット

では、続いてtest1のファイルをコミットします。


$ git commit -m "first commit"
[master (root-commit) 71380d5] first commit
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 test1]

git statusで確認すると、test1はコミットしたのでステージングからなくなりました。

$ git status
On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    test2

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

git logでコミットログが確認できます。

$ git log
commit 71380d52bbb6b7e0cd649748b1d75ea0b39f71eb (HEAD -> master)
Author: hoge <hoge@email.com>
Date:   Sat Oct 12 19:01:50 2019 +0900

    first commit

リモートリポジトリにプッシュ

いよいよ、ローカルリポジトリにコミットした内容をリモートリポジトリにプッシュして反映させます。
次のコマンドで、originというリモートリポジトリのmasterブランチにプッシュします。

$ git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 206 bytes | 206.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/hoge/sample.git
 * [new branch]      master -> master

リモートリポジトリに、ローカルリポジトリの変更が反映されました。
sample__sample_for_remote_repository.png

リモートリポジトリからプル

次に、リモートリポジトリの変更内容をローカルリポジトリに反映します。

まず、リモートリポジトリのGit HubでREADMEファイルを追加しましょう。

maru-e_sample__sample_for_remote_repository.png
New_File.png

READMEに適当な内容を入力し、「Commit new file」ボタンをクリックします。
READMEには、マークダウンが使用できます。

New_File2.png

Git HubにREADMEが追加されました。
New_File3.png

では、リモートリポジトリの変更(READMEの追加)をローカルリポジトリ側に反映させます。
次のコマンドで、originというリモートリポジトリのmasterブランチからプルします。

$ git pull origin master
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/hoge/sample
 * branch            master     -> FETCH_HEAD
   f733bfe..7022b44  master     -> origin/master
Updating f733bfe..7022b44
Fast-forward
 README.md | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 README.md

READMEファイルがローカルリポジトリに追加されましたね。

$ ls -l
-rw-r--r--  1 hoge  staff  38 10 12 22:17 README.md
-rw-r--r--  1 hoge  staff   0 10 12 19:13 test1
-rw-r--r--  1 hoge  staff   0 10 12 19:13 test2

続きはこちら

GitとGit Hub 入門(3/3)

1
0
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
1
0