質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.21%

Webサイトの公開管理方法について

解決済

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 1,510
退会済みユーザー

退会済みユーザー

前提・実現したいこと

更新回数の多いウェブサイトのファイル管理方法について教えて下さい。

発生している問題・エラーメッセージ

現在使用しているファイルの管理方法は更新したいファイルを「xxx_公開する日付.html」というリネームをしてFTP経由でテストサーバにアップロードし、本番サーバにアップする際に公開する日付をとって「xxx.html」にリネームして公開しています。
これらの作業を複数人で手動でやっているためミスが多いので辞めたいです。
gitを使うという案が出ていますが、前例がないこととgit使用経験がない人が多いため導入が難しいです。また、gitを利用することで日付の異なる日に公開する同一のファイルが複数ある場合は容易になりますでしょうか?

試したこと

なし

補足情報(言語/FW/ツール等のバージョンなど)

より詳細な情報

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

gitじゃなくてもいいですが、バージョン管理ソフトを使いましょう。
バージョン管理ソフトの操作に不慣れな場合、最初はGUIがわかりやすいものがいいでしょうね。

個人的なお勧めとしては、
Windows環境ならMercurialのGUIクライアントTortoiseHgをお勧めします。
Gitと同じ分散バージョン管理ですが、幾分シンプル(Bareリポジトリも不要)なのと、
TortoiseHgをインストールするだけで使え、GUIがよくできているのでお勧め。
デメリットは

  • GitHubで管理できない
  • Gitに移るときブランチ/Pull/Revertなどの差異にとまどう
  • Git程有名じゃない

あたりでしょうか。

GitならGitKrakenかSourceTreeがGUIはわかりやすいですかね。
特にGitKrakenはNode-GitなのでGitクライアントを入れる必要もないと思いますし。
問題は、ユーザー登録(無料です)と最初にインターネット通信が必要なので環境を選びます。
※ ファイルはローカルで管理できます。ユーザー登録の確認に通信が発生します。

画像などのリソースが多いと思うので、SVN(SubVersion)でもいいかなとは思いますが
ブランチがわかりにくい(元来の機能というよりは trunk/branches/tagsを作っとくというほとんど運用ベースなので)気がします。


gitを利用することで日付の異なる日に公開する同一のファイルが複数ある場合は容易になりますでしょうか?

今、とても適当にやってみました。画像はTortoiseHgですが、Gitでも同様の事は出来ます。

こんな感じにブランチを使って時に分岐し、時に合流し、こんな更新ツリーができあがっていくイメージです。
default(Gitだとmaster)はリリースしたファイルのみおいておく。
developブランチで開発を進めますが、リリース日毎にブランチ(ForRelease1001/ForRelease1002)を切っておくこともできます。
各々のブランチで更新作業を行うので、同一ファイルに更新が入るときに便利です。
マージ(ブランチの合流)をするとき少し気を付ける(どっちの修正を残すか等)必要がありますが、失敗してすぐならそのマージを削除できるのでやり直せばいいだけです。
画像には含めませんでしたが、使い始めにユーザー名を設定しておくので誰が更新したかもわかります。

イメージ説明


gitを使うという案が出ていますが、前例がないこととgit使用経験がない人が多いため導入が難しいです

改善は徐々にやっていけばよいので、いきなり全員完璧に使い出すことは目指さず、今よりもよくするために、
まずは最終管理しているファイルを誰か2,3人がバージョン管理ソフトで管理するという運用をスタートしても良いと思います。

バージョン管理ソフトを使えば

  • 間違えて書き換えてしまっても前のバージョンに戻せる
  • 更新内容の差分が見れる(一般にはテキストファイルの比較。画像などは比較ツールを導入すれば可能かも)

という事はできるので、だめでもすぐにやり直せる環境を用意できるのは大きいと思います。
ブランチも最初はわからなければブランチを使わず、コミットとリビジョンの移動だけ覚えて使い始めるだけでもいいでしょう。
徐々に覚えていけばいいと思います。

MercurialやGitはフォルダ(.hg/.gitを含むフォルダ)を丸ごとコピーしてもバックアップになります。不安なコマンドを試してみたいときは物理的なバックアップをしてから行えばいいでしょう。
(ホントはせっかく分散バージョン管理なんだからCloneしてねと言われるところですが、最初は安心が欲しいと思うので)

また個人的なお勧めですが、diffのツールはWinMergeにすると便利だと思います。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/08/15 00:43

    先に上げたstripエクステンションを有効にしている場合、リビジョンを右クリックして「履歴を修正>除外(strip)」というのが出てきます。
    マージで困ったらとりあえずそのマージをコミットしてしまって、完全に失敗だったらその合流したリビジョンを stripしてしまってやり直すのも手です。

    注意してほしいのは、stripするとほんとにそのコミット(途中のリビジョンならそれ以降のコミット)は消えます。(本当は少しの間残ってますが、消えてしまうと思っておいた方が良いでしょう)

    ※ clone、push,pullを始めるとstripですごい消してしまっても他の場所にclone(複製)が残っているので、自分の作業が消える以上の被害はなかったりします。「分散」バージョン管理の利点です。

    キャンセル

  • 2016/08/15 00:48

    最後に2つ(長々とすいません)、小ネタと言いますか
    コミット後、ファイルの修正を始めたが、やっぱり最初から(前回のコミット直後から)やり直したい場合があると思います。
    そういう場合は、ワークベンチの変更ファイル一覧で、ファイルを右クリックして「復旧」>「変更を破棄」とします。

    もう一つは、ワークベンチのリポジトリ一覧(左側のリポジトリ一覧。表示されてなければ 表示>リポジトリ一覧を表示 )のリポジトリの上で右クリック>「フォルダを開く」で、そのリポジトリのフォルダがエクスプローラで開きます。
    たまに便利です。

    キャンセル

  • 2016/08/15 22:31 編集

    回答いただきありがとうございます。
    ブランチを画像のように作成することができました!
    ご紹介いただいた拡張機能はまだ使いこなせそうにありませんが試してみます。stripは便利ですね。
    マージする際はコンフリクトに注意ということですね。


    リポジトリの作成単位についてすみませんが、質問させてください。
    リポジトリを作成する場合は案件ごとに作成するのがいいのか、それともウェブサイトごとに作成するものなのでしょうか?

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.21%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる