ローカルリポジトリを新規リモートリポジトリにプッシュする

ローカルで管理していたリポジトリを新規リモートリポジトリにプッシュしたくなった際の手順です。
ローカルだけで管理していたリポジトリを公開したり他人と共有したいような状況での使用を想定しています。

VSCodeかSourceTreeでの操作が簡単かと思います。

コマンドライン(GitBash) + GitHubを使用する方法

作業の流れは以下です。

  1. GitHubで空のリモートリポジトリを作成

  2. GitBashでローカルリポジトリと空のリモートリポジトリを紐付け

  3. GitBashでローカルリポジトリの内容をプッシュ

1 GitHubで空のリモートリポジトリを作成

GitHubに空のリモートリポジトリを作成します。
手順は「 新規リモートリポジトリの作成 」で説明しています。
空のリポジトリを作成したらリポジトリのアドレスをコピーしておきます。
../../_images/01026.png

警告

リポジトリ作成の際に README などを追加する設定にしていると自動でリポジトリにコミットが追加されてしまします。
プッシュ時に上書きを強制しないといけなくなってしまうので Add a README fileAdd .gitignoreChoose a license の項目でファイルを追加しないように気をつけてください。

2 GitBashでローカルリポジトリと空のリモートリポジトリを紐付け

GitBashでGitのコマンドを使用してローカルとリモートのリポジトリを紐付けます

まずはローカルリポジトリのあるプロジェクトフォルダでGitBashを開きます。
エクスプローラーでプロジェクトフォルダを開き、 右クリック ‣ Open Git Bash here で開くのが簡単かと思います。
紐付けは remote という他のリポジトリとの接続を管理するコマンドで行います。
以下のコマンドは origin という名前で、指定したアドレスのリモートリポジトリとの接続の設定を追加しますという内容です。
git remote add origin リモートリポジトリのアドレス
「リモートリポジトリのアドレス」を先程コピーしておいたアドレスに置き換えて実行してください。
私の場合は先程作成したリポジトリと紐付けたいので以下のようなコマンドで実行します。
git remote add origin git@github.com:starfieldKt/tutorial_2.git

実行したら以下のコマンドでローカルリポジトリと紐づいているリモートリポジトリのアドレスを確認してください。

git remote -v

以下のように設定したアドレスが表示されていれば成功です。

../../_images/02023.png

3 GitBashでローカルリポジトリの内容をプッシュ

リモートリポジトリと紐付けが完了したのでローカルリポジトリの中身を空のリモートリポジトリにプッシュします。

プッシュする際は push というコマンドを使用します。
以下のコマンドでローカルのブランチをリモートの同じ名前のブランチにプッシュできます。
git git push -u リモートリポジトリ ローカルブランチの名前

ローカルリポジトリのデフォルトブランチ main をリモートリポジトリ origin にプッシュしたい場合は以下のようになります。

git git push -u origin main

実行して処理の内容が以下のように表示されれば終了です。

../../_images/03022.png

ヒント

-u をつけておくことでリモートに作られたブランチをローカルブランチが追跡するようになり、以後このブランチで作業している時にプッシュやプルした場合のブランチの指定を省略できます。

ヒント

ローカルブランチを違う名前のリモートリブランチにプッシュしたい場合は以下のように指定します。

git git push -u リモートリポジトリ ローカルブランチの名前:リモートブランチの名前

origin というリモートリポジトリの main というブランチに、ローカルリポジトリの master という名前のブランチをプッシュしたい場合は以下のようになります。

git git push -u origin master:main

VSCodeを使用する方法

簡単なのでオススメです。

まずはリモートリポジトリにプッシュしたいローカルリポジトリのあるプロジェクトフォルダをVSCodeで開いて、アクティビティバーからでソース管理画面を開きます。 現在作業しているブランチがデフォルトブランチであることを確認しておいてください。

../../_images/04017.png

ソース管理画面の Branchの発行 をクリックします。

ヒント

初めてこの方法を使用する場合、以下のようにGitHubへのサインインを要求してくるので許可してください。
許可 を押すとwebブラウザが立ち上がりログインと連携の許可を求められます。
../../_images/05016.png

すると、GitHubに作成するリモートリポジトリの名前の入力を要求され、「公開設定で作成する」と「非公開設定で作成する」のコマンドが表示されるので、好きな名前を入力し、好きな方の公開設定のコマンドをクリックします。

../../_images/06014.png

エラーが出なければ以上で完了です。

../../_images/07015.png

TortoiseGitを使用する方法

作業の流れは以下です。

  1. GitHubで空のリモートリポジトリを作成

  2. Source Treeでローカルリポジトリと空のリモートリポジトリを紐付け

  3. Source Treeでローカルリポジトリの内容をプッシュ

1 GitHubで空のリモートリポジトリを作成

GitHubに空のリモートリポジトリを作成します。
手順は「 新規リモートリポジトリの作成 」で説明しています。
空のリポジトリを作成したらリポジトリのアドレスをコピーしておきます。
../../_images/01026.png

警告

リポジトリ作成の際に README などを追加する設定にしていると自動でリポジトリにコミットが追加されてしまします。
プッシュ時に上書きを強制しないといけなくなってしまうので Add a README fileAdd .gitignoreChoose a license の項目でファイルを追加しないように気をつけてください。

2 TortoiseGitでローカルリポジトリと空のリモートリポジトリを紐付け

リモートにプッシュしたいローカルリポジトリのプロジェクトフォルダをエクスプローラーで開いて、 右クリック ‣ TortoiseGit ‣ 設定 でTortoiseGitの設定画面を開きます。

../../_images/1404.png

Git --> リモート の設定を開き、 URL にリモートリポジトリのアドレスを入力、 Putty鍵SSHを使用した通信の準備 で作成した公開鍵を設定して 新規追加/保存 をクリックして追加します。(URLを入力すると リモート にはoriginが自動で入力されます。)

../../_images/1503.png

追加するとフェチするか聞かれますが、ここは自由です。 今回はしませんので いいえ をクリックして閉じます。

../../_images/1603.png

追加できたらOKを押して設定画面を閉じてください。

../../_images/161.png

3 TortoiseGitででローカルリポジトリの内容をプッシュ

ローカルリポジトリのプロジェクトフォルダから 右クリック ‣ TortoiseGit ‣ プッシュ でプッシュの画面を開き、 OK をクリックします。

../../_images/1702.png

以下のように表示されてばプッシュは成功です。 閉じる で閉じてください。

../../_images/1803.png

Source Treeを使用する方法

作業の流れは以下です。

  1. GitHubで空のリモートリポジトリを作成

  2. Source Treeでローカルリポジトリと空のリモートリポジトリを紐付け

  3. Source Treeでローカルリポジトリの内容をプッシュ

1 GitHubで空のリモートリポジトリを作成

GitHubに空のリモートリポジトリを作成します。
手順は「 新規リモートリポジトリの作成 」で説明しています。
空のリポジトリを作成したらリポジトリのアドレスをコピーしておきます。
../../_images/01026.png

警告

リポジトリ作成の際に README などを追加する設定にしていると自動でリポジトリにコミットが追加されてしまします。
プッシュ時に上書きを強制しないといけなくなってしまうので Add a README fileAdd .gitignoreChoose a license の項目でファイルを追加しないように気をつけてください。

2 Source Treeでローカルリポジトリと空のリモートリポジトリを紐付け

まずはSource TreeでリモートにPushしたいローカルリポジトリを開いて、右上の歯車アイコン 設定 をクリックしてリポジトリの設定画面を開きます。

../../_images/08013.png

追加 をクリックしてリモート接続の名前と、アドレスを入力して、 OK を選択します。
GitHubとSource Treeを連携させていれば Remote Account でアカウントを選択しておきましょう。
../../_images/09010.png

これでリポジトリにリモートの設定が保存されました。 OK をクリックして設定ウィンドウを閉じます。

../../_images/1007.png

3 Source Treeでローカルリポジトリの内容をプッシュ

リモートの欄にも追加したリモート名が表示されていることが確認できたら、リモートリポジトリにローカルの内容をプッシュしましょう。
上向き矢印アイコンの プッシュ をクリックします。
../../_images/1104.png

リモートにプッシュしたいブランチにチェックマークをつけて プッシュ をクリックして実行します。

../../_images/1204.png

プッシュが成功するとリモートの欄にプッシュしたブランチが表示されます。

../../_images/1303.png