【超級初心者向け】git を使ってカッコよく GitHub を使おうぜ

これは、Github をコマンドを使ってカッコよく使いたいと悩んでいた私が、昼食を一緒に食べた友達から聞いた方法をまとめたものである！！！

よって細かい用語は一切わからないのだ！！！！

そこで、最強(?)のドキュメントの[リンク](https://progit2.s3.amazonaws.com/ja/2016-02-11-8cb2f/progit-ja.1016.pdf) を貼るので参照されたい。私も勉強していく。

## 0. git のインストール

[こちらのサイト](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) よりインストールする。

## 1. GitHub のweb上での操作
### 1.1 レポジトリの作成

GitHub にアカウントを登録して、レポジトリを作成してみましょう。
ここでは、**test** という名のレポジトリを作成しました。

<img width="1680" alt="スクリーンショット 2019-11-21 12.43.10.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367076/191b0b37-6247-e292-b4e0-c1dc87cdbe09.png">


### 1.2 HTTPS にして、これをコピー

Create Repository をクリックすると、以下のような画面が出てきます。
画面上部、HTTPS と SSH が選択できると思いますが、**HTTPS** を選択して書いてあるリンク(https:// ・・・) をコピーしてください。後で使います。
<img width="1680" alt="スクリーンショット 2019-11-21 12.43.25.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367076/5f0e08b7-d0d8-8235-c172-5493cbf31cb1.png">




## 2. ターミナル上での操作 (git を使う前に)

ここで、ターミナルを起動します。

### 2.1 git が使えるか確認
以下のコマンド `git`を実行します。($ はターミナルに書いてあるので、自分で打つ必要はない)

```git:git
$ git

usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           <command> [<args>]

These are common Git commands used in various situations:

start a working area (see also: git help tutorial)
   clone     Clone a repository into a new directory
   init      Create an empty Git repository or reinitialize an existing one

work on the current change (see also: git help everyday)
   add       Add file contents to the index
   mv        Move or rename a file, a directory, or a symlink
   restore   Restore working tree files
   rm        Remove files from the working tree and from the index

examine the history and state (see also: git help revisions)
   bisect    Use binary search to find the commit that introduced a bug
   diff      Show changes between commits, commit and working tree, etc
   grep      Print lines matching a pattern
   log       Show commit logs
   show      Show various types of objects
   status    Show the working tree status

grow, mark and tweak your common history
   branch    List, create, or delete branches
   commit    Record changes to the repository
   merge     Join two or more development histories together
   rebase    Reapply commits on top of another base tip
   reset     Reset current HEAD to the specified state
   switch    Switch branches
   tag       Create, list, delete or verify a tag object signed with GPG

collaborate (see also: git help workflows)
   fetch     Download objects and refs from another repository
   pull      Fetch from and integrate with another repository or a local branch
   push      Update remote refs along with associated objects

'git help -a' and 'git help -g' list available subcommands and some
concept guides. See 'git help <command>' or 'git help <concept>'
to read about a specific subcommand or concept.
See 'git help git' for an overview of the system.
```

どうやら、ターミナルで git を使うことはできそうですね。しかもコマンドの説明がついてきます。

次にヴァージョンを確認します。

```git:git
$ git version

git version 2.23.0
```

私のラップトップでは問題なく使えそうです。

さて、git を使ってやっていきましょう！

## 3. ターミナル上での操作 

### 3.1 ディレクトリの移動(やりたい人)
コマンドを用いて、clone(3.2 で登場)  したフォルダをおきたい場所にディレクトリを移動します。
私は、デスクトップにおきたいので以下のようにデスクトップに移動します。

```git:git
$ cd desktop
```

### 3.2 ローカルにクローンフォルダを作成

次に、以下のコマンドを入力します。

```git:git
$ git clone https://github.com/Kadowaki0312/test.git

Cloning into 'test'...
warning: You appear to have cloned an empty repository.
```
clone の後の https://・・・は 1.2 でコピーしたリンクです。

すると、チェンジディレクトリした場所(私はデスクトップ)に test という名のフォルダができました。

次以降、このフォルダで作業をしていくので `cd test` して作成したフォルダにディレクトリを移動しておきましょう。

また、このフォルダに GitHub にアップしたいもの(ここでは test.txt) をフォルダに入れておきます。
階層構造はこんな感じ。↓

<img width="127" alt="スクリーンショット 2019-11-21 14.27.23.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367076/e50a4ba5-c79b-6763-6b6e-74179f6ada3f.png">



### 3.3 add しよう

次に、以下のコマンドを実行して add しましょう（add の詳しい説明はどこか他のところで見てちょんまげ）

```git:git
$ git add test.txt
```
### 3.A git status でこまめに状況確認しよう
ちょっと本筋から外れますね

add まで終えた状態で `git status` と実行してみよう。

```git:git
$ git status

On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
	new file:   test.txt
```
と現在の状況を見ることができます。今だと、「まだコミットしてないよ〜」と書いていますね！


### 3.4 コミットしよう(ライ○ップではない)

次にコミットしよう（コミットの詳しい説明も他のでみてちょんまげ）。
ここでは "add new file" と書いたよ、変更等を書いてあげよう。

```git:git
$ git commit -m "add new file"

[master (root-commit) 23c96ee] add new file
 1 file changed, 1 insertion(+)
 create mode 100644 test.txt
```

### 3.B 変更ログをみよう

また本筋からずれる。コミットした後に、`git log` と実行してみよう。コミットしたときのコメントが出ていますね！

```git:git
$ git log

commit 23c96ee9a9cfc41b465ec1029dd562b52b7cd634 (HEAD -> master)
Author: Kadowaki0312 <僕のアドレス@gmail.com>
Date:   Thu Nov 21 15:54:35 2019 +0900

    add new file
```

### 3.5 トドメだ！

```
$ git push

Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/Kadowaki0312/test.git
 * [new branch]      master -> master
```

最後に上記コード `git push` を実行しよう。これを終えると GitHub に更新されるぞ！
最初だとアドレスとか入力する欄があるかも。

<img width="1680" alt="スクリーンショット 2019-11-21 16.20.34.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/367076/4f681d79-23e2-5345-5442-d1c6963fe31b.png">

## おまけ
GitHub 上で変更したものを、ローカルに反映させるためには

```git:git
$ git pull origin master
```

と打ってあげるとローカルに反映されるよ！


✌️



















## 環境
macOS Catalina ver 10.15