【Git/GitHub】リモートリポジトリへのpush

Blog

Gitにはとても悩まされました。

当時はターミナルの使い方すらまともにわかりませんでした…

今回はローカル環境で作成したプロジェクトをGitHubのリモートリポジトリへpushする方法を備忘録としてまとめておきます。

前提

  • PCはMac
  • ターミナルのシェルはbashを使用
  • GitHubのアカウントは作成済み
  • Gitをインストール済み(git -vで調べてみてね)
  • Gitにユーザー名やメールアドレスを登録済み(git config -lで調べてみてね)

pushする方法を時系列でまとめる

①GitHubへアクセスしてリモートリポジトリを作成する

・Dashboardの左上に「New」というボタンがあるのでクリック

・「Create a new repository」の画面に遷移したら、Repository nameを入力し、
公開設定をPublicかPrivateから選択し、右下の「Create repository」ボタンをクリック

他にも項目がありますが、例えばREADMEをここで作成すると後ほどpushする時に「リモートにはローカルにないファイル(README)があるからpushできないよ〜」とのエラーで弾かれます。
私は上記の作業以外は基本的に必要な時に後で追加するようにしています。

リモートでの作業はここで終了です。

次はローカルでターミナルを使います。

②リモートにpushしたいディレクトリへ移動する

cd <リモートリポジトリにpushしたいディレクトリへのパス> // 例) cd /Users/ayakakobayashi/React/...

パスはFinderからターミナルへドラッグ&ドロップで自動反映します!
今いるディレクトリのことを「カレントディレクトリ」と言います。

③②で移動したディレクトリにローカルリポジトリを作成する

git init

ローカルリポジトリを新規作成するだけではなく、既存のリポジトリを初期化したい時にも使えるらしいです。

④ステージングエリアに変更したファイルをすべてaddする

git add .

「.(ドット)」を忘れないようにしましょう。これは「変更したファイルすべて」を意味しています。

⑤ローカルリポジトリへcommitする

git commit -m "first commit" // コミットメッセージは日本語でも可

「-m “コミットメッセージ”」はオプションですが、履歴を残すためにもコミットメッセージは書いておくことをお勧めします。(後々リモートリポジトリにもこのメッセージが残ります)

⑥リモートリポジトリを作成した直後に出てくる画面のコマンドをコピペして作業完了

画面下の「ローカルリポジトリが既に存在している場合」のコマンドをコピーしてターミナルに貼り付けるだけでpushが完了します!

当時の私はこの3つのコマンドを打つのに色々検索しまくってやっと辿り着いたのに、
まさかのGitHubに用意されていることを先輩に教えていただいて

もっと早く気づいてればよかったやないかぁぁぁぁぁああああ!!

と悔し涙に枕を濡らしたことがあります。

豆知識

「$ git branch -M main」というコマンドについて

Gitに「デフォルトブランチをmainにする」という登録を行なっていない場合は上記のコマンドを打つ必要があります。(登録済みの場合はこのコマンド不要です〜!)

2020年からリモートリポジトリは初期ブランチがmainに変更されましたが、ローカルでGitをinitする時は初期ブランチがmasterのままになっています。

リモートとローカルの初期ブランチ名が異なりますので、これを合わせてあげる必要があります。

そんな理由から上記のコマンドが追加されたのですね〜

ちなみになぜmasterからmainに変更されたのかですが、master-slaveの差別用語に当たるということでmainに変更しようということだそうです。

・Gitは「分散型バージョン管理システム」である

Gitにはローカルとリモートの2つ、リポジトリが存在しています。

これに対してリポジトリが1つしかないものを「集中型」と呼びます。

分散型のメリットはオフラインで各個人のPCでバージョン管理ができることです。

なぜこれがメリットなのかというと、集中型では常にリポジトリに接続するためにオンラインでなければなりません。

つまりネットが繋がらない、などの障害が起こった際にバージョン管理作業ができなくなるのです。

両者メリデメはあると思いますが、使いやすい方を使えばいいのではないかと思います!

この記事を読むすべての方々に少しでもお役に立てれば幸いです。お疲れ様でした!

コメント

タイトルとURLをコピーしました