[Flutter][Tips][9][2020年最新] 既存のFlutterプロジェクトをGitHubリポジトリに保存する方法

どうも、すえきあおいです。
Flutterで2Dゲームを作るチュートリアルを完了したので、早速自分のアプリを作り始めました。できるだけ早い段階でバックアップを取りたいので、ソースをリポジトリで管理することにしました。ミスったときに戻せたりするから便利ですよね。
で、毎回既存のプロジェクトをGitHubリポジトリに登録するやり方を忘れるので、備忘録としてここに記録しようと思います。
ちなみに環境は以下の通り。
macOS Catalina 10.15.5
AndroidStudio 4.0
Dart 2.9.0
Flutter 1.20.0-2.0.pre (channel dev)
① Gitインストール、GitHubへの接続確認
インストールは終わってるので、ターミナルを開き、gitのバージョンを確認します。
git --version git version 2.24.3 (Apple Git-128)
次に、設定を確認します。
git config --list credential.helper=osxkeychain user.name=ふがふが user.email=ホゲホゲ
ここで何も返ってこない場合は、以下のように設定してからもう一度やってみましょう。
git config --global user.name "ふがふが" git config --global user.email ホゲホゲ
ここまでできたら次に進みます。
git init してローカルに空のリポジトリを作る
ちなみにコマンドinitは、ターミナルでgitと打ち込むとそれぞれのコマンドの説明(ヘルパー)が出てきます。
git initはと言うと、
init Create an empty Git repository or reinitialize an existing one
init 空のGitリポジトリを作成するか、既存のGitリポジトリを再初期化します
でした。
では行ってみましょう。
Android Studioのターミナルでgit initってすると空のリポジトリが作成されます。
作成した空のローカルリポジトリに現在のプロジェクトのソースを登録する
続けて、Android Studio のターミナルで以下を実行します。
git add . git commit -m "first commit"
ちなみに「git commit -m」の-mはmasterのmです。マスターブランチに登録することを意味しています。(まぁ最初なのでマスターブランチしかないんですけどね)
もう一つ補足すると、何かのパスワードとか、人にみられたくない情報が含まれるファイルは「.gitignore」ってファイルに追記しておけばとリポジトリに登録されません。
ignore=無視
GitHubにリモートの新規リポジトリを作る
GitHub のページにログインして、新しいリポジトリを作ります。
これはリモートリポジトリです。さっき作ったのはローカルリポジトリ。gitによるソース管理の基本は、ローカルでOKにした(Commit)したソースを、リモートにpushすることでローカルとリモートの同期を取っていきます。
なんで二重やねんって思うかもしれませんが、チームで開発する時にはこのCommit、pushがないと大変なのです。まぁその辺の話は本題とは関係ないので割愛。
新しいリポジトリを作る時は、privateかpublicを選べます。ソースを人に公開したくない場合はprivateを選びましょう。
initializeのとこにチェックはいれず、そのまま作成します。
リモートリポジトリ(GitHub)に、ローカルリポジトリのソースをコピーする
先ほどの画面でCreate repositoryをすると、以下の画面に遷移します。そしたら、赤枠のURLをコピーします。
git remote add origin さっきコピーしたURL git push -u origin master
usernameとpasswordを聞かれるので入力。
本来ならここで完了。
のはずが。なんかパスワードがちゃいまんねんってエラーになりました。この辺の対応は以下にまとめましたので、同じエラーが出た人はご参照ください。
remote: Invalid username or password. への対応
はい、ではいろいろあってもう夕方ですが(涙目)、GitHubにソースが保存されたか確認します。
できた。
これで、パソコンが壊れたり無くなったりしても、ソースは消えません。苦労して書いたソースが消えちゃったらと思うと、心配で夜も眠れない、と言う方は、早めにソースをGitHubのようなリモートリポジトリで管理すると良いでしょう。
ちなみに、コードのバックアップと言うだけでなく、Issues、Projectsなどでタスク管理もできるので、「いつまでにこの機能を作って、、、」みたいな計画もここで管理できます。
一人だとその辺テキトーになっちゃうんですが、バシッと手順化すると迷いがなくなって開発に集中できるかも!
それでは!