UbuntuサーバーのコードをGitHubにプッシュする方法

GitHubにリポジトリを作成してコードを公開したい、もしくはプライベートで管理したいですよね。

今回はUbutnuサーバーでデプロイしているコードをコマンドラインからGitHubにアップロード(プッシュ)する方法をご紹介します。

これができるとちょっとしたコードの変更があった場合にGitHubにコマンドラインで更新できるのでバグ修正をすぐに行い公開することができちゃったりしますね。

でGitHubにあげたコードは自分のパソコンにクローンしてまた作業ができるようになります。

後からのGitでの更新作業を考えると、Git CloneでGitHubのリポを先にサーバー側にコピーしてあげるのが一番良いです。

今日の条件

①Ubuntuサーバー(22.04)とSSHアクセス

他のOSでもよいですがコマンドが変わる可能性があります。

②GitHubのアカウント

今回初めてGitとGitHubを使う人は下記の動画から基本を学んでみてください。

SSHが分からない人は下記の動画を見てください。

Gitをインストールする

では、UbuntuサーバーにSSHで接続した状態にしてください。

sudo apt-get update

sudo apt-get install git-all

で、ターゲットとなるディレクトリに移動して.gitファイルを作成します。

もし、GitHubからリポをクローンしている場合は飛ばしてください。

git init

git add .

git commit -m "コメントね"

コミットができたのでRPGゲームでいうセーブが完了しました。

ではこのセーブデータをシェアするためにGitHubを接続します。

GitHubで使うSSHキーを作成する

ではUbuntuサーバーでSSHキーを生成してGitHubにそのパブリックキーの方を渡すような流れになります。

SSHのフォルダーに移動します。

cd ~/.ssh

SSHキーを作成します。

ssh-keygen -t rsa

ファイルの保管場所を聞かれるので問題がなければそのままエンター

パスフレーズの聞かれるので必要に応じて秘密のパスワードを作成します。

なくても大丈夫です。その場合はただエンターを押して次に進みます。

これでid_rsaとid_rsa.pubの二つのキーができました。

では下記のコマンドでパブリックキーの方を閲覧します。

cat id_rsa.pub

ではこれをコピーします。ターミナルでハイライトすると自動でクリップボードにコピーされますね。

GitHubでSSHのパブリックキーを登録

ではGitHubのサイトに行き、設定の画面を開きます。英語だとSettingsですね。

その中に、SSH and GPG Keysというオプションがあるのでそれをクリックします。

右上の緑のNew SSH Keyのボタンを押して先ほどコピーしたキーを貼り付けます。

タイトルは自分で管理するために使うので分かりやすいように説明を付けてあげてください。

Ubuntuサーバーからコードをプッシュする

では、最初にコミットしたコードをGitHubにプッシュ(アップロード、更新)します。

ちゃんと.gitのある場所に戻りましょう。

GitHubのプッシュしたい先のSSHのURLをコピーします。

ではコードのプッシュ先を下記のコマンドで登録しておきます。

git remote add origin git@github.com:TraitOtaku/Django-TicketAPIwAuth.git

originを削除したい場合はこれ
git remote rm origin

では下記のコマンドでGitHubにコミットしたコードをプッシュします。

ちなみにGitHubのブランチ名が何になっているか確認しましょう。

メインのリポにプッシュする場合はmainとかmasterになっているはずです。

もしブランチ名(枝名)をmainに変えたい場合はこのコマンドで。

git branch -m master main

レッツゴー!

yesと入力し接続を完了させます。

トラブルシュート

もし、GitHubの接続先にすでにリポが存在する場合はエラーが発生します。

もし、強制的にサーバー側からのコードでプッシュしたい場合は下記のfフラグで更新できるようになります。

git push -f origin main

GitHubのリポが更新されました。

お疲れ様です。