GitHubにプッシュ・プルリクまでのメモ

自分のGitHubリポジトリへターミナル使ってプッシュする。
自分のGitHubから共同開発用のリポジトリにプルリクエスト。
管理者がマージしてくれたら反映される。

開発を始める時は、自分のGitHubに引っ張ってくるクローンと、PCへのダウンロードが必要。
このメモはそれ以降。

ローカルだけなら[この記事](https://qiita.com/414_cherry/items/34f3ecd860805e460dd7 "Gitでコミットしてバージョン管理・バックアップするメモ")で。
init、add、commitはこれの方が詳しい。

まず、扱いたいファイル・フォルダのある場所（ディレクトリ）に移動する。

以前の開発からの変更を自分のファイルに持ってきて同期させる。
[GitHubのフォークを同期するメモ](https://qiita.com/414_cherry/items/924a034c8baaec971f71)

ユーザー名とアドレス、init、リモートURLを設定する。同じディレクトリでの２回目以降は飛ばす。

##Gitのユーザー名・メールアドレスの設定
<details><summary>開く</summary><div>
グローバル設定（どのディレクトリでも適用される）とローカル設定（ディレクトリ・プロジェクトごとに設定する）がある。
ローカル設定がある場合は優先される。共同・公開プロジェクトなどで設定。
ない場合にグローバル設定が適用される。

####グローバル設定
ユーザー名とメールアドレスをグローバル設定する。

```
$ git config --global user.name "Mona Lisa"
$ git config --global user.email "email@example.com"
```

グローバル設定を確認。

```
$ git config --global user.name
> Mona Lisa
$ git config --global user.email
email@example.com
```

####ローカル設定
ローカル設定したいディレクトリに移動する。
ユーザー名とメールアドレスをローカル設定する。
プロジェクトのメンバーに分かりやすい・教えていい、名前とアドレスにする。

```
$ git config user.name "Mona Lisa"
$ git config user.email "email@example.com"
```

ローカル設定を確認。

```
$ git config user.name
> Mona Lisa
$ git config user.email
email@example.com
```

</div></details>

##git init
<details><summary>開く</summary><div>

```
$ git init
Initialized empty Git repository in /Users/ディレクトリの階層ズラズラ/.git/
```

</div></details>

##git remote add
<details><summary>開く</summary><div>
今いるディレクトリにリモート先（GitHubのリポジトリのアドレス）を設定する。
GitHubのリポジトリのページから、リモートURLを取得する。

![cloneURL.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/638366/608a421c-77b5-d660-a3e9-57296cecf50a.jpeg)

コピーしたら`git remote add origin`以降に貼り付ける。

```
$ git remote add origin https://github.com/ユーザー名/リポジトリ名.git
```

確認。

```
$ git remote -v
> origin  https://github.com/ユーザー名/リポジトリ名.git (fetch)
> origin  https://github.com/ユーザー名/リポジトリ名.git (push)
```

設定先を変更する→`git remote set-url origin リモートURL`
設定を削除する→`git remote rm リモート名(origin,upstream,destinationなど)`
</div></details>

##git add

```
$ git add ファイル名
```

確認。


```
$ git status
```

返ってくる`Changes to be committed:`以下で、ちゃんと選択したいものが選択されていることを確認。

##git commit

```
$ git commit -m "コメント（変更内容など）"
```

共同開発では特にコメントを分かりやすく、詳しく書く。
日時・ユーザー名とアドレス・コメントしか情報はぱっと見て分からない。

ここまででローカルのgitには反映された。
確認。

```
$ git log
```

##git push
リモート先へプッシュ。アップロード。

```
$ git push origin master
```
`git push リモート名 ブランチ名`
この後GitHubのユーザー名とパスワードを要求されることがある。

##GitHubからプルリク
自分のGitHubのリポジトリページを見る。

1. 先ほどのコミットが反映されていることを確認。
1. 緑色の「Compare ＆ pull request」ボタンをクリック。

プルリクエスト作成ページに変わる。
上から

1. 【ブランチ】
    プルリクを送る、マージして欲しいブランチ先が選択されているか確認。
1. 【タイトル】
    コミットのコメントのようなもの。簡潔に分かりやすく書く。
1. 【概要】
    どこをどう変更したか、詳しく書ける。
    Markdown記法。
1. 【Create pull request】
    緑色。このボタンでプルリクを送信。
1. 【コミット履歴・差分】
    プルリク先と自分のリポジトリの比較をする。

Create pull requestボタンを押せばプルリク完了。

##参考
[Git でのユーザ名を設定する](https://help.github.com/ja/github/using-git/setting-your-username-in-git "GitHubサポート")
[Git でユーザー名とメールアドレスを設定する方法（全体用とプロジェクト用）](https://laboradian.com/set-git-user-and-email/)
[リモートリポジトリを管理する](https://help.github.com/ja/github/using-git/managing-remote-repositories "GitHubサポート")
[GitHubを使うなら最低限知っておきたい、プルリクエストの送り方とレビュー、マージの基本](https://www.atmarkit.co.jp/ait/articles/1702/27/news022.html)

[【イラストで覚える】初心者のためのGitとGitHub用語集
](https://zukulog098r.com/git/)→画像が分かりやすい！