☕
Githubで新規レポジトリを作成した時にすでにファイルが存在する状態でローカルのファイルをコミットさせるときの手順
Githubで新規のレポジトリを作成するときにREADMEや.gitignore、そしてLICENSEを作成するかを選択することができます。
もし、このレポジトリをクローンしてから開発をすすめるならそれでいいと思いますが、すでにローカルにあるファイルをコミットさせたいときにはリモートにすでにファイルが存在する状態になるのでコミットでエラーを吐きます。
ただ、3つのファイルをローカルで新規作成するのも面倒ですし、あとからGithub上で作成することもできますができれば新規作成時に作れるものは作りたいわけです。とくにLICENSEに関しては後で入れようと思って忘れますし・・・
というわけで今回は新規レポジトリ作成時にファイルを作成したときにローカルのファイルをコミットさせるための手順を紹介しようと思います。
なお、今回はGitコマンドをある程度知っている(commit, pushなど)方向けに書いてます。
新規レポジトリ作成
新規作成のときに以下のチェックボックスにチェックを入れます。
.gitignoreとlicenseはお好みのものを選んでおきます。
ローカルのレポジトリ設定
続いてローカルのレポジトリを設定します。
任意のプロジェクトディレクトリにgit init
をしたあとに先ほど作成したレポジトリ上のファイルをマージさせるためにブランチを作成します。(ここではブランチ名をdevelop
とします)
$ git init
$ git branch -m develop
続いてディレクトリ内のファイルを一旦コミットします。
$ git add .
$ git commit -m "first commit"
$ git remote add origin 【リモートブランチのURL】
$ git fetch
リモートブランチの変更をマージする
これで一通りの準備ができたので、リモートのmainブランチを変更をdevelopブランチにマージします。
$ git branch #現在のブランチがdevelopであることを確認
$ git merge origin/main --allow-unrelated-histories #エディタ画面が表示されたら何も変更を入れずに保存してエディタを閉じる(おそらくviだとおもうので、:wqと入力すればいいはず)
これでマージされた変更もコミットされたので、ローカルのコミットをリモートにpushします。
$ git push origin develop
最後にPR作ってマージすればメインで運用しているブランチに変更が適用されます。
Discussion