【MacOS】他の人のGitHub から clone してリモートリポジトリを追加して自分の GitHub に push する方法

友人と共同開発するためGitをゼロから学びなう。
注意: Git学び中なので間違っている点や用語の使い方がおかしいかもです。
<hr>

<h3>1. 友人のGithubから目的のgitをローカルリポジトリにcloneする。

cloneを作成したい任意のディレクトリにcdし
$ git clone [URL]
コマンドを実行する。

cloneが終わったらlsコマンドで目的のディレクトリが作成されているか確認する。

例: KeigoTakahashiのケース
$ pwd     <font color=8c8c8c>//あらかじめcdコマンドで目的のディレクトリに移動しておく</font>
/Users/keigotakahashi/Desktop/Xcode/Practice
$ ls     <font color=8c8c8c>//ディレクトリ内のディレクトリを確認</font>
MyCalc     <font color=8c8c8c>//元からあるプロジェクト</font>
$ git clone https://github.com/tt556/SwiftMousouLINE.git    <font color=8c8c8c>//このセクションのテーマ</font>
Cloning into 'SwiftMousouLINE'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (27/27), done.
remote: Total 31 (delta 2), reused 31 (delta 2), pack-reused 0
Unpacking objects: 100% (31/31), done.     <font color=8c8c8c>//clone完了</font>
$ ls     <font color=8c8c8c>//cloneコマンドによりgitファイルが作られたことを確認</font>
MyCalc		SwiftMousouLINE     <font color=8c8c8c>//SwiftMousouLineが今回の目的のgit</font>



<hr>

<h3>2. 自分で編集を加えてコミットする。

ここに関しては、下記参照。
https://qiita.com/doge_kun55/items/f269b89b73f23e6b0cb6


<hr>

<h3>3. コミットしてgitファイルが作成されたか確認する。

クローンを作成したディレクトで
$ git remote -v
コマンドを実行する。私の場合
$ origin	https://github.com/tt556/SwiftMousouLINE.git (fetch)
$ origin	https://github.com/tt556/SwiftMousouLINE.git (push)
となっていました。予想通りです。

Xcodeで編集し目的のファイルをcommitするまでは
$ git remote -v
コマンドを実行しても何も表示されませんでした。予想外です。てっきりcloneしたやつが表示されると思っていましたが、自分で一度commitしないといけないみたいです。

<hr>

<h3>4. commitしたgitをpushする。

commit（編集）したgitをpushする。
$ git push [remote-name] [branch-name]
このコマンドでpushできます。

例: KeigoTakahashiのケース
[remote-name]と[branch-name]はよくわかりませんが、とりあえず適当にやってみました。
$ git push origin master
remote: Permission to tt556/SwiftMousouLINE.git denied to TKeigo.
fatal: unable to access 'https://github.com/tt556/SwiftMousouLINE.git/': The requested URL returned error: 403

権限ないからpush拒否されました。で友人は寝てるから自分のリモートリポジトリにpushすることにしました。

<hr>

<h3>5. リモートリポジトリを追加（自分のGithubにpush）する方法

セクション4と同じくcommitしたgitをpushします。リモートレポジトリの情報をローカルに追加します。少し考察。

私は友人のリモートレポジトリからgitをcloneしてきました。cloneした段階で[remote-name]と[branch-name]は自動的に作られます。<b>友人のリモートリポジトリからcloneしてきたgitをcommitして自分のリモートリポジトリにpushします。</b>ここでは[remote-name]を弄ることによってそれが可能になります。

$git remote
とだけ打つと現在の[remote-name]の一覧が表示されます。私の場合は友人のGithubの[remote-name]であるoriginだけが表示されました。先ほども言ったように[remote-name]はcloneした時勝手に作られます。[remote-name]であるoriginが持つ情報はoriginという名前情報とどこからcloneされたのかのURL情報が格納されていると考えられます。※あくまでも予想です。

今度は[remote-name]を新たに作成することで、自分のGithubのURL情報とそれに対応する名前情報を持った[remote-name]が作られると仮定しました。やってみたのが下記です。

$ git remote add keigo https://github.com/TKeigo/mysite.git

これでkeigoという名前にTKeigoのGithubのURL情報が紐づけられました。
あとはセクション4と同じくcommitしたgitをpushします。


$ git push keigo master
Username for 'https://github.com': 
Password for 'https://TKeigo@github.com': 
Counting objects: 36, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (34/34), done.
Writing objects: 100% (36/36), 1.28 MiB | 1015.00 KiB/s, done.
Total 36 (delta 7), reused 0 (delta 0)
remote: Resolving deltas: 100% (7/7), done.
remote: 
remote: Create a pull request for 'master' on GitHub by visiting:
remote:      https://github.com/TKeigo/mysite/pull/new/master
remote: 
To https://github.com/TKeigo/mysite.git
 * [new branch]      master -> master

これで完了です。
<hr>

参考にしたサイト: https://git-scm.com/book/ja/v1/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%81%A7%E3%81%AE%E4%BD%9C%E6%A5%AD