目的
gitの勉強をすると、アップロードする対象がファイルであることが多いです。
実際にプロジェクトを進めるうえで、プロジェクトフォルダごとgitにアップロードしたいと思い、その方法を今後のメモ用にまとめておきます。
- GitHubにレポジトリを新規作成
- ローカルにプロジェクトファイルを作成し、gitに紐付ける
- GitHubにプロジェクトフォルダをまるごとアップロード
手順
gitとGitHubの設定が済んでいることを前提として話を進めます。
設定がまだの方は、下の記事を参考に設定を済ませましょう。
GitHubにレポジトリを新規作成
まずはGitHub上に新規レポジトリを作成します。
Repository nameはsample_app
とします。
レポジトリを作成した後の画面でQuick setupという欄の【HTTPS/SSH】というボタンのSSHを選択し、表示されたURLをコピーしておきます。
ローカルにプロジェクトフォルダを作成し、gitに紐づける
次に、ローカル上にプロジェクトフォルダを作成し、gitに紐づけます。
ターミナル上で下記のようにコマンドを実行します。
# sample_appフォルダと必要なフォルダを一括作成
$ rails new sample_app -G
# sample_appフォルダに移動
$ cd sample_app
# 作成したフォルダをGitで管理できるようにする
$ git init
# プッシュ先のリモートリポジトリを指定する
$ git remote add origin <sshで取得したURL>
# 登録されているリモートリポジトリを確認する
$ git remote -v
=> origin git@github.com:<ユーザー名>/sample_app.git (fetch)
=> origin git@github.com:<ユーザー名>/sample_app.git (push)
フォルダをプッシュする
# 変更されたすべてのフォルダとファイルを選択
$ git add .
# 変更履歴を記載する
$ git commit -m "Create sample_app"
# リポジトリに選択したフォルダとファイルをアップロードする
$ git push --set-upstream origin main
# パスワードを求められる
$ Enter passphrase for key '/Users/<フォルダ名>/.ssh/id_ed25519':(パスワードを入力)
git add .
は前回アップされた状態から変更のあるすべてのファイル/フォルダをステージングするというコマンドです。
Progate等の教材ではgit add <ファイル名>
のように一つずつファイルを指定していますが、今回紹介した方法で一括でステージングしてしまう方が手間がかかりませんし、アップし忘れも防ぐことができます。
git push origin main
だとエラーが出るので、pushの後に--set-upstream
を付けるのがポイントです。
-u
と略すことも可能です。
パスワードはこの記事の5項で設定したパスワードです。
ターミナル上では入力内容は表示されません。
焦らずに落ち着いて入力しましょう。
git add . でエラーが出たら
ファイルを編集した後にgit add .
をすると、
warning: LF will be replaced by CRLF in log/error_2022-07-18.log.
The file will have its original line endings in your working directory
と出ることがあります。
そんな時はこちらの記事を参考にしてください。
【Gitエラー解決】warning: LF will be replaced by CRLF (Qiita)
まとめと今後の流れ
以上がGitHubにフォルダ全体を共有する方法となります。
今後の流れ
- 新しくブランチを切り、編集内容を親ブランチにマージする
- 開発チームに参加し、GitHubからプロジェクトファイルをcloneする
- 共同作業の中で同一ファイルを編集したときの対処法