さくらサーバー内でGitを使う方法
- 投稿者: yoshitakakai
- 作成日: 2025年7月25日13:07
- 更新日: 2025年8月6日7:10
- カテゴリ: Git
- タグ: バージョン管理,
目的: さくらサーバーで構築した環境をリモートリポジトリとして扱い、ローカル環境でのpushやpullなどのコマンドを使用可能するため。
リモート環境(さくらサーバー)にssh接続して、バージョン管理したいディレクトリの中でGitをインストール
% git init
ローカル環境に戻り、リモート環境のコピーをローカル環境に作成
例)URLは自分の環境に合わせて変更する。
% git clone ssh://username@hostname/home/username/www/
push用の新しいブランチを作成する
この作業をしておかないとmasterブランチにpushしようとしてエラー発生の原因になる。
% git branch ブランチ名
新しいブランチが作成できているか確認。
% git branch
新しく作成したブランチ名
*master
補足: ブランチを作成し、そのままチェックアウトする場合。
% git checkout -b ブランチ名
または、Git 2.23 以降では switch を使うのが推奨されている。
% git switch -c ブランチ名
ローカル環境でも同じようにブランチを作成する
% git branch 新しいブランチ名 #リモート環境と同じ名前でも違っていてもOK
そのままローカル環境で新しいブランチにcheckoutする。
% git checkout 新しいブランチ名
現在のブランチを確認。
% git branch
* 新しいブランチ名
master
何かしらの更新作業後、commitまで進める
% git add index.html
% git commit -m '変更 20250725_01’
ローカル環境からリモート環境へpush
% git push ssh://username@hostname/home/username/www/ 新しいブランチ名
さくらサーバーのパスワードを求められるので入力。新しいブランチ名の前に半角スペースを入れることに注意。そうすることでpush時にリモート環境の新しく作成したブランチを指定している。この時リモート環境のブランチがmasterになっているとpushが失敗するのでpush前に予め確認しておくこと。
pushが成功したらリモート環境に再度ssh接続し、新しいブランチにcheckoutする。
% git checkout 新しいブランチ名
現在のブランチを確認。
% git branch
* 新しいブランチ名
master
ここまで作業できれば、ローカル環境でcommitした内容がファイルに反映されているのを確認できる。(さくらサーバーの場合は変更内容によっては反映が遅い場合もあるらしい。)
ローカル環境のmasterブランチにリモート環境のmasterブランチの内容を反映する場合。
% git pull ssh://username@hostname/home/username/www/ master
masterの前に半角スペースを入れることに注意。そうすることでpull時にリモート環境のmasterブランチを指定している。この時サーバー内での更新がかなり遅い場合があるため、ある程度の時間が経ってからpullしてみると失敗しにくい。
おまけ: Sourcetreeでのリモート接続方法 Mac版
- 1. ローカル環境で開発用のディレクトリを作成
- 2. メニューから「リポジトリ」→「リモートを追加」を選択
- 3. 「リモートリポジトリのパス」の中で名前を適当に設定し、パスはssh://username@hostname/home/username/www/のような感じで設定する。
- 4. とりあえずリモート環境にssh接続して最初のcommitを実行し、その後ローカル環境でリモートリポジトリをpullする。
% git pull ssh://username@hostname/home/username/www/ master
masterの前に半角スペースを入れることに注意。そうすることでpull時にリモート環境のmasterブランチを指定している。この時サーバー内での更新に時間がかかる場合があるため、ある程度の時間が経ってからpullしてみると失敗しにくい。
GitHubなどを介さずにSoucetree内でローカルとリモートとの間でpushやpullを実行すると、認証が通らない問題が発生する?現在調査中…