Gitを利用して開発する手順(初期設定)
はじめに
Zenn初投稿です。
自分はQiitaしか知らなかったのでQiitaにばかり書いていたのですが、最近はZennという情報共有サイトも熱いということで、どちらも1度は使ってみてそれで今後どちらを使い続けようか判断しようかと思います。
今回は、「Gitを用いた開発手順」をほぼ自分用の備忘録として残しておきたいと思います
大まかな流れ
- 新規アプリを作成する(
rails new
やcreate-react-app
など)- この時点で
.git
ファイルまで作成されている
- この時点で
- GitHubでリモートリポジトリを作成する
-
git init
コマンドを実行して初期化する(省略可) -
git add .
コマンドでカレントディレクトリ以下をステージに上げる -
git commit -m "コミットメッセージ"
でローカルリポジトリにコミット - GitHub上のリモートリポジトリとローカルリポジトリを紐付ける(
git remote add origin リモートURL
)&git branch -M main
-
git push -u origin master
コマンドでリモートリポジトリにpushする - 完了!
詳しい手順
1.新規アプリを作成する
自分の場合は、RailsかReactで作成することになるので以下のような感じですね。DBなどのところはお好みで。
# Railsの場合
$ rails new アプリ名 -d mysql
# Reactの場合
$ create-react-app@latest アプリ名
2.GitHubでリモートリポジトリを作成する
GitHub上にリモートリポジトリを作成します。「Repositories」から「New」を押してリポジトリの名前を決め、「Create repository」を押してリポジトリを新規作成します。
他に書くところがあるとしたら「Description」のエリアぐらいでしょうか。
git init
コマンドを実行する(省略可)
3.rails new
やcreate-react-app
をした時点で.git
ファイルは作成されているので、この工程は省いて大丈夫です。
git add .
と git commit -m "コミットメッセージ"
4.5.作成したアプリのディレクトリに移動した後、git add
コマンド(もしくはgit add -A
コマンド)でステージにあげ、git commit
コマンドでローカルリポジトリにコミットします。
$ git add . # ステージにあげる
$ git commit -m "コミットメッセージ" # ローカルリポジトリにコミットする
6.GitHub上のリモートリポジトリとローカルリポジトリを紐付ける
まだローカルリポジトリと、2で作成したリモートリポジトリが紐付いていないので、git remote add origin リモートURL
でGitHub上のリモートリポジトリと紐付けます。
$ git remote add origin リモートURL
$ git branch -M main # 意味:現在のブランチの名前を main に変更する(masterブランチから名前を変える)
git push -u origin master
コマンドでリモートリポジトリにpushする
7.あとはgit push -u origin master
コマンドでリモートリポジトリにpushします。これで完了です!
$ git push -u origin master
Gitはともだち。
補足事項
git add .
と git add -A
について
補足:git add .
コマンドはgit add -A
とすることもできます。
その場合-A
オプションでは、自分がプロジェクトディレクトリ内のどの場所にいたとしても、そのプロジェクト全体の変更をステージングすることができます。対してgit add .
は、先述の通り自分がいるカレントディレクトリ以下の変更のみステージングすることができます
今のところ、自分はプロジェクトのルートディレクトリ以外に移動して何かコマンドを打ったことはないので基本的にはgit add .
を使おうと思っています。
-u
オプションについて
補足:git pushのgit pushコマンドの-u
オプションですが、これを付けると次回以降git pushする際にgit push origin master
ではなくgit push
のみでpushを実行することができるというものです。
git push
やgit pull
する際の、一番おおもととなるリモートリポジトリのブランチを指定するみたいな感覚でしょうか?
難しい言葉で言うと、「コマンドを実行したローカルのブランチの上流ブランチを設定する」ということみたいですね。この部分については、以下のサイトが自分的にはとても分かりやすかったです。
Discussion