はじめに
GItはプログラムなどを効率よく管理するための”バージョン管理システム”です。
GitHubは、Gitリポジトリをオンライン上に置き、他の人と共有したりするためのプラットホームです。
今回の記事では、自分のパソコンにあるローカルリポジトリを、
GitHubと連携しリモートで管理できるようにする方法を記録します。
始めてGitHubに連携しようとした時に、つまずいた部分も含めて解説します。
参考にしてみてください。
事前準備
今回はGItのインストールやGitHubのアカウント作成は済んでいる前提でお話しします。
もし環境の用意がまだの方は、先に環境の用意をして下さい。
ローカルリポジトリの作成
まずは、プロジェクトフォルダーを作成しましょう。
そして「git init」コマンドでGitリポジトリを初期化します。
git init
これにより、フォルダー内に「.git」という隠しファイルが作成されて、
その中でリポジトリーなどが管理されます。つまりGitで管理できるようになりました。
ついでに、ステージングとコミットも行っておきましょう。
git add .
git commit -m "任意のコミット入力"
ぼくは「VSCode」を使用しています。
今回はデスクトップの「tes」というフォルダーをGit管理してみます。
リモートリポジトリの作成
GitHubにもリポジトリを作成しましょう。
ローカルで作成したファイルと同じ名前で作成することをお勧めします。
GitHubのリポジトリについては、下記の記事を参考にしてみてください。
ローカルとリモートの紐付ける方法
いよいよローカルリポジトリとリモートリポジトリを紐付けていきます。
ターミナルでgit remoteコマンドを入力します。
git remote add [作成したリモートリポジトリのURL]
リモートリポジトリ作成時に、GItHub上に表示されている部分をコピーしてもOKです。
これで紐付けは完了です。
せっかくなので、ローカルリポジトリをリモートリポジトリへプッシュしてみましょう。
git push -u origin main
これでローカルリポジトリのデータがGitHubにアップロードされました。
トラブルシューティング
ぼくが苦戦したエラーのまとめです。
同じエラーの方は参考にしてみてください。
リモートリポジトリの重複
error: remote origin already exists.
これは、同じ名前のリモートリポジトリが既に存在するために発生するエラーです。
既に存在しているために新たに作成できないということを教えてくれています。
git remote -v
上記コマンドで、現在設定されているリポジトリを確認することができます。
確認したうえで、不要なリモートリポジトリを消去する。
git remote rm [リポジトリ名]
そのうえで、改めてgit remote addすることで解決しました。
git remote add [作成したリモートリポジトリのURL]
git remote rm [リポジトリ名]は消去するコマンドなので
消したものは戻りません、慎重に使用してください。
ブランチの未作成
紐付け完了後にpushする時に発生したエラーです。
error: src refspec main does not match any
error: failed to push some refs to 'リモートリポジトリURL'
git push -u origin main
上記のコマンドでpushしようとしたところ発生しました。
これは「main」というブランチが作成されていないために発生したエラーです。
ブランチを確認して、「main」がない場合は、作成することで解決できます。
git branch
ブランチを確認するコマンドです。
もしこれで「main」ブランチを確認できなければ作成しましょう。
git checkout -b main
上記コマンドで「main」ブランチを作成し
git push -u origin main
改めてpushすれば解決できます。
まとめ
GitHubを使用することで、プロジェクトを安全にバックアップすることができたり、
他の開発者と共同作業ができるのは魅力的ですよね。
また、プログラミング学習を始めたばかりの人にとっては、
学習の記録が残り、実際の開発でも使われるツールに慣れることは非常に大きなメリットになります。
ぼくのような個人開発者にとっても、バックアップが取れたり
外出先のパソコンから作業ができたりする点は魅力です。
ぜひこの記事を参考にGItHubでのプロジェクト管理を始めてみてください。
さらにGItHubのプルリクエストやブランチについて学ぶとステップアップできるでしょう。
頑張ってみてください。