- ローカルで新規プロジェクト作ったけど、ここからどうやってgitに繋げればいいの?
- GitHubでリポジトリ作成したけど、どうやってローカルのgitに繋げればいいの?
-
README.md
や.gitignore
でコンフリクトが起こってpushできない…
初心者がはじめてExpoのローカルプロジェクトを作成し、gitと連携しようとした際に、上のような点で詰まったので、備忘として書いておきます。
個人開発向けです。
gitの初期設定が完了している前提です。
設定状況は、git config -l
もしくは git config --global -l
で確認できます。
tl;dr(要約)
1. ターミナルから新規プロジェクトを作成
以下例、テンプレートがblank-typescript
、プロジェクト名がmy-project
の場合:
npx create-expo-app --template blank-typescript@latest my-project
2. GitHub上でリモートリポジトリを作成
- リポジトリ名は上で作成したプロジェクト名と同じにする(混乱防止のため)
-
README.md
オプションと.gitignore
オプションはオフ
3. (初回のみ)gitのデフォルトブランチ名をmainに変更
git config --global init.defaultBranch main
4. ローカルリポジトリを作成〜リモートリポジトリに紐づけ・反映
git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/ユーザー名/my-project.git
git branch -M main
git push -u origin main
5. (お好みで)別ブランチdevelop
を作成、リモートに反映、追跡ブランチに設定
git branch develop #ローカルにdevelopブランチを作成
git switch develop #developブランチに移動
git push -u origin develop #今いるローカルブランチの内容をリモートのdevelopブランチ(新規作成)に反映しつつ、developブランチを追跡ブランチに設定
+GitHubのリポジトリページの設定→デフォルトブランチをdevelop
に変更
1. ターミナルから新規プロジェクトを作成
ターミナルから create-expo-app
でローカルに新規プロジェクトを作成する。
たとえば、利用するテンプレートがblank-typescript
の最新版、プロジェクト名が my-project
なら、このようになる。
npx create-expo-app --template blank-typescript@latest my-project
2. GitHub上でリモートリポジトリを作成
github.comで新規リポジトリを作成する。
サイトに飛び、右上の+ボタン (Create new...)
から、 New repository
を選択。
リポジトリ名
好きな名前で指定する。ハイフンで区切れる。
例)
ToDoアプリ:react-native-todo-app
パズルゲーム:react-native-puzzle-game
公開範囲
迷ったら Private
に設定しておけば問題ない。
あとからPublicにもできる。
README.md
と .gitignore
のオプション
これらのオプションは基本いじらず、オフのままにしておく。
(README.mdはオフ、.gitignoreは「No .gitignore」を選ぶ)
- オフにする理由:
- コンフリクト回避のため(後で面倒な作業が増えないようにするため)
- オフでも問題ない理由:
-
README.md
はあとで追加すればok -
.gitignore
はexpoのテンプレートが作ってくれるもので事足りるし、必要な部分は後で自分でgithubが公開してくれているテンプレートから追加すればok)
-
3. (初回のみ)gitのデフォルトブランチ名をmainに変更
ローカルでgit init
したときの初期ブランチ名のデフォルトがmasterになっていることがあるので、mainに変更しておく。
gitのバージョン確認
まず、gitのバージョンを確認する。
git --version
(もしくはgit -v
)
これで、gitのバージョンが2.28以上なら次に進む。
gitのデフォルトブランチ名をmainに設定
以下のコマンドで設定できる。
git config --global init.defaultBranch main
GitHubがデフォルトブランチ名をmasterからmainに変更した経緯:
GitHub、これから作成するリポジトリのデフォルトブランチ名が「main」に。「master」から「main」へ変更 - Publickey
設定を確認する方法
git config -l
または git config --list
で確認できる。
4. ローカルリポジトリを作成〜リモートリポジトリに紐づけ・反映
git(ローカルリポジトリ)を作成し、GitHubで作ったリモートリポジトリと紐づけし、リモートリポジトリにローカルリポジトリの内容を反映する。
ターミナルで任意のフォルダに移動
まず、ターミナルでプロジェクトのルートを置きたいディレクトリに移動する。
たとえば、デスクトップ上に my-project
フォルダ(プロジェクトのルート)があるなら、以下のコマンドで移動できる。
cd ./Desktop/my-project
gitの初期化〜リモートリポジトリへの反映
移動したら、以下のコマンドを入力する。
git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/usename/repository-name.git
git branch -M main
git push -u origin main
-
git init
- gitの管理ファイル(ローカルリポジトリ)を今いる場所に作るよ
-
git add .
- 今いるディレクトリのすべての変更内容を、ステージング(次のコミット内容に追加)するよ
-
git commit -m "initial commit"
-
initial commit
というメッセージ付きで、ステージングした内容をローカルリポジトリ(のmain
というブランチ)にコミットするよ
-
-
git branch -M main
- ローカルのブランチを
main
という名前に変更するよ - =保険。万が一ブランチ名がmasterだった場合、強制的にmainへ統一し、リモートとの名称不一致による混乱を防ぐ
- ローカルのブランチを
-
git push -u origin main
- origin(リモートリポジトリのこと)に、main(今いるブランチ)の内容を反映するよ(リモートにはmainというブランチはないはずなので、新しく作成して反映してくれる)
- ちなみに-uをつけているのは、リモートに作成した
main
ブランチを上流ブランチ(追跡ブランチ)に設定するという意味
5. 別ブランチdevelop
を作成、リモートに反映、追跡ブランチに設定
ここから先は完全にお好みですが、mainブランチに加えて、developブランチ等を作りたい人向けに、以下の内容を解説しています。
- 新しくローカルブランチを作る方法
- 作ったローカルブランチをリモートに反映する方法
- リモートブランチを追跡ブランチに設定し、pushのデフォルトの追加先にする方法
① ローカルにdevelopブランチを作ろう
git branch
コマンドでブランチを作成する
git branch develop
その後、git switch
で作ったブランチに移動する
git switch develop
ちなみに
git switch -c develop
とすると、上2つのコマンド(作成と移動)をまとめて実行できる。
なお、git branch
でローカルのブランチの状況を確認できる。
今いるブランチには *
がつく。
② ローカルで作ったdevelopブランチをpushして、リモートリポジトリに追加しよう
git push origin 追加先のリモートブランチ名
コマンドで、作ったブランチをリモートに反映する。
git push origin develop
なお、git branch -a
で、ローカルブランチに加えてリモートブランチ(追跡ブランチ)も一緒に確認できる。
③ 追跡ブランチについて
追跡ブランチというものを設定することで、git push origin リモートブランチ名
のコマンドの引数を省略して git push
と短く打てるようになる。
(デフォルトでは引数を省略するとエラーになり、pushできない)
追跡ブランチとは、git push
で引数を省略した際に、gitが勝手に選んでくれるブランチのこと。
開発で主にpushしたいブランチ(ここでは develop
ブランチ)を追跡ブランチに設定しておくことで、毎回 git push origin develop
のように打たなくてよくなる。
追跡ブランチを設定しよう
追跡ブランチを設定するコマンドは、git branch -u origin/ブランチ名
。
たとえば、develop
ブランチを追跡ブランチに設定する場合、以下のように打つ。
git branch -u origin/develop
-u
:--set-upstream
と同じ。
「このローカルブランチが対応するリモートのブランチはどれか」をgitに覚えさせるためのオプション。これを設定することで、次回以降git push
やgit pull
をする際、ブランチ名を毎回書かずに済むようになる。
なお、upstream=上流ブランチのこと。上流ブランチとリモート追跡ブランチの関係については → 解説してくださっている記事
これをしてあげることで、毎回git push origin develop
と入力する必要がなくなり、git push
のみで、今いるローカルブランチ(developブランチ)の内容を、リモートの追跡ブランチ=developブランチにpushできるようになる。
もしくは、push時に-u
オプションを付けて git push -u origin develop
のようにすれば、pushと一緒にそのブランチを追跡ブランチに設定できる。
なお、git branch -vv
で、追跡ブランチを確認できる。
④ GitHub上のデフォルトブランチについて
GitHubでリポジトリのトップページを開いたときに表示されるのは、GitHub上で設定されているデフォルトブランチである。
これを開発で主に使うブランチ(ここではdevelop
)に変更することで、リポジトリのトップページを開いた時、develop
ブランチの内容が表示されるようにできる。
GitHub上のデフォルトブランチの確認方法
GitHubでリポジトリを確認すると、以下画像のように、main
ブランチがデフォルトブランチに設定されている。

この状態だと、GitHubでリポジトリのトップページを開いたとき、main
ブランチが表示される。
GitHub上のデフォルトブランチを変更する
デフォルトブランチを変更する方法は以下の通り。
- リポジトリのメインページに移動し、最上段のリポジトリ名の下にある
Settings(設定)
タブをクリック -
Default branch(既定のブランチ)
という見出しの下にある、ブランチ名の右側の⇄
をクリック - ドロップダウンメニューを選び、指定したいブランチ名をクリック
-
Update
をクリック - 警告を読んでから、
I understand, update the default branch.(上記を理解したうえで、既定のブランチを更新する)
をクリック
最後に
当方、初心者のため、分かりにくい部分や誤りがあるかもしれません。
もし気になる箇所があれば、指摘してもらえると助かります。