LoginSignup
0
0

More than 5 years have passed since last update.

SVNでの開発フロー(コマンドベース)

Last updated at Posted at 2016-01-21

SVNでの開発フロー

概要

SVNでソースを管理しているサイトの開発フローを共有します。
開発担当者は複数名、gitへの乗り換えは諸事情によりできない。

開発フロー

local→ステージング→本番
の順に反映を行っていきます。

  1. localを最新に更新
    svn up
    変更のあったファイルの一覧が表示され。
    At revision XXXX.と結果が帰ってきます。
    XXXXが最新のリビジョンになります。
    最新でどんな更新があった確認したい場合は、
    svn log --limit 10
    等で確認できます。

  2. localの変更
    vim XXXX
    vimerなので・・・。
    後々のことを考え、不要なファイルの変更を行わないように、
    どのファイルにどんな変更をしたかは覚えておくと良い。

  3. localの変更の確認
    svn status
    もし不要な変更を行ってしまったファイルが有った場合は、
    svn revert ファイル名 (gitでいうcheckout)
    を使用して元に戻します。

  4. localのコミット準備
    svn add ファイル名
    コミットに反映させるファイルのみ指定する。
    間違えて追加してしまった場合は、
    svn revert ファイル名
    で取り消すことが出来る

  5. localのコミット
    svn commit ファイル名 -m "コミットコメント"
    心配な場合は、
    svn log --limit 10
    等でリビジョンが増えていることを確認してください。

  6. ステージングに移動
    ssh XXXX
    cd /var/www/vhosts/XXXX/
    ここは各サーバーの構成によります。

  7. ステージングを更新
    svn up ファイル名

  8. 実際にステージングサイトにアクセスして確認

  9. 先方に確認
    ステージングサイトを先方に見せ、本反映の許可をもらう。
    場合により他のメンバーのダブルチェックをもらう。

  10. 本番に移動
    ssh XXXX
    cd /var/www/vhosts/XXXX/
    ここは各サーバーの構成によります。

  11. アップ待ちのファイルの確認
    svn status -u
    いわゆる「期日が来たら本番に反映」という機能やページがないか確認をおこなう
    svn info ファイル名で今のリビジョンとsvn上にある最新のリビジョンの差を確認する。
    差がある場合は、今のリビジョンとsvn上にある最新のリビジョンの差の間に別の人のコミットが入っていないか確認をする必要がある。
    コレはredmine等のツールを使用すると便利。
    別の人のコミットが入っている場合は、アップして問題ないかそのコミットを行った人に確認をとる。

  12. 本番を更新
    svn up ファイル名

  13. 実際に本番にアクセスして確認

  14. 先方に確認を取り、終了

備考

svnで git stash

git stash 相当

$ svn diff > stash.patch
$ svn revert -R .

git stash pop 相当

$ patch -p0 < stash.patch
http://qiita.com/snaka/items/673c33e1210505a8851e

ファイルを操作するユーザーが限られている場合

コマンドの頭に
sudo -u XXX
で実行するユーザを指定する。
例:apache権限でsvn statusの実行
sudo -u apache svn status

svn上にある不要なファイルを削除したい場合

svn rm ファイル名
を使用する。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0