Git初心者がGitコマンドでGitHubに草を生やすまで

私はこれまで、SourceTreeを使いソースコード
バージョン管理を行っていました。

ですが、先日、私が所属する「もりけん塾」にて開催されたGitの勉強会
に参加したことを機に、Gitコマンドで操作をすることにしました。


コマンドの操作は難しいですが、エラーが出た際のリカバリ
など細かい対応がしやすいので、少しずつ慣れていこうと思います。


今回は、備忘もかねてGitコマンドでGitHubに草を生やすまでを
記録していきたいと思います。
※今回は既存のプロジェクトをGitHubへアップロードする方法になります。


①:GitHubでリモートリポジトリを作成する


f:id:hnm-n-1029:20200708221526p:plain


GitHubにログイン後、左側にある緑色の「NEW」ボタンをクリック。


f:id:hnm-n-1029:20200708221808p:plain


任意のRepository nameと今回のアプリの内容を簡単にDescriptionへ入力。
(赤枠内)

Create repositoryをクリックするとリモートリポジトリが作成されます。


f:id:hnm-n-1029:20200708222201p:plain


すると上記のようなページが表示されるので、
HTTPSを選択した状態でURLをコピーしておく。

②:既存プロジェクトをGit管理下に置き、リモートリポジトリと連携させる


ターミナルを開き、アップロードしたいプロジェクトディレクトリへ
移動後「git init」コマンドでGit管理下へ。

$ cd /path/to/your/project
$ git init

リモートリポジトリとの連携とプッシュ

$git remote add origin https://github.com/your-name/project-name.git
$git push origin master

これで、既存のプロジェクトをGitHub上にプッシュできました。

③:branchを切る


ここからは、ローカルで作業した内容を
リモートリポジトリへ反映させる手順になります。


基本、ローカルで作業する際はbranchを切ります。
作業中、どこのbranchにいるのかはしっかり確認しておきましょう。
※誤ってmasterで作業を進めてしまうと、他のメンバーに怒られてしまいます。


//master branchへ移動(すでにいる場合はそのまま)
$git checkout master
//今いるbranchを確認する(ローカルブランチの一覧が表示される)
$git branch
//branchの新規作成とそのbranchへの移動
$git checkout -b 任意のbranch名

④:作成したbranchでファイルの編集


新しく作成したbranchで作業を開始します。

//変更箇所の確認
$git status


作業が完了したら、変更・追加したファイルをindexします。

indexについてはこちらで詳しく解説されています。
backlog.com

//既存のファイルを変更する場合
$git add .
//新規のファイルがある場合
$git add --all

⑤:ローカルリポジトリにコミット、リモートリポジトリへプッシュ・マージ

indexが完了したら、ローカルリポジトリへコミットします。

$ git commit -m "任意のコメント"


コミットが完了後、リモートリポジトリへプッシュします。

$ git push origin head


プッシュするとGitHub上にこのような表示が現れるので
緑色の「Compare & pull request」をクリックします。

f:id:hnm-n-1029:20200717165411p:plain


さらに、緑色の「Merge pull request」をクリック


f:id:hnm-n-1029:20200717170904p:plain


confirmするとマージされます。
ここでようやく草が生えます!

⑥:ローカルリポジトリへリモートリポジトリの差分を取り込む


先ほどリモートリポジトリのmaster branchにマージさせた内容は、
ローカルリポジトリには反映されていません。

なので、この内容を取り込む必要があります。
※忘れがちなので注意です。

//master branchへ移動
$ git checkout master
//変更内容を取り込む(pull)
$ git pull origin master


この後は、③~⑥を繰り返し開発を進めていきましょう!


今回は以上になります!



↓↓私の師匠、もりけんさんの武骨日記。問題集、要チェック

kenjimorita.jp