Git
GitHub

ローカルで開発したプロジェクトをGitHubに連携したいとき

概要

Git初心者の学生が、GitHub入門でいきなりコケて2,3時間悩んで解決した。:v:

すでにGitHub上にあるプロジェクトをフォーク&クローンして、それを元にわちゃわちゃする例はよくあるが、自分がローカルで元々作っていたものを、「さぁ、これをGitHubにあげよう」ってなった時どういう手順で行うのか、という疑問にドンピシャで答える感じの情報がなかった。:baby:

環境は、SourceTree × GitHub
各々の基本的な操作は割愛。

手順

1. ローカルレポジトリの準備

まずGitしたいディレクトリに移動。

$ cd ~/target

git initで.gitを作る。

$ git init

.gitignoreなどの設定はここのタイミングで行う。
自分の場合、node_modules/を外した。

そしてSourceTreeを開いてコミット
作業していた内容を全てコミットする。

2. GitHubでリモートレポジトリを作る

スクリーンショット 2018-04-11 1.55.06.png

※詰まりポイント
readmeの自動生成や、add licenceなどでファイルを追加してしまうと、以降の手順でpushやpullができなくなってしまう。ここでかなり詰まった。
何もファイルのない空のレポジトリを作るべし。

3. GitHubと接続

GitHubの、clone or downloadのボタンを押し、出てきたURLをコピー。
※「~.git」となっている。

これを使い、

$ git remote add origin [レポジトリのURL]

これでremoteとして登録された。

push

$ git push -u origin master

これで成功。

スクリーンショット 2018-04-11 2.20.07.png

こんな風に、masterとorigin/master両方が表示されていれば、良し。

※詰まりポイント
このpushの際に普通にpushしようとすると

The current branch master has no upstream branch

と返ってきてエラーに。upstream、つまり上流ブランチがないとのこと。調べるとトラッキングブランチともある。よく分からないが、「-u」をつけると次回からのpushがトラッキング(?)されて、ただのpushでもremoteに反映されるようになるのだとか。ともかくここは「-u」をつけるものと覚えておく。

まとめ

ローカルにレポジトリを用意!
GitHubに空のレポジトリを用意!
remote addからのpush -u!
:writing_hand_tone2: