Blog

さくらサーバー内で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を実行すると、認証が通らない問題が発生する?現在調査中…