1

私は Mercurial の初心者で、実際にはソース管理の初心者です。

~/mamp/htdocs である localhost にプロジェクトがあります。地元で働きたい。私が混乱している点があります:

htdocs とは別のパスにリポジトリを保持する必要があると思うので、"/reps/" フォルダーを作成し、その下に各プロジェクトのフォルダーを作成し、htdocs プロジェクト フォルダーからすべてのファイルを reps にコピーします。

例えば; プロジェクト01

からにファイルをコピー~/mamp/htdocs/project01/ する /reps/project01/

しかし、私はローカルホスト (htdocs) でファイルの変更などを行っています/reps/

明らかに、ソース管理に関するいくつかの非常に明白な点が欠けています。私は間違ったスタートを切りましたか?

私がオンラインで見つけたすべてのチュートリアルには、ある種の基本的な知識が必要だと思います。それらのどれもゼロ点を意味することから何も伝えません! :/

4

3 に答える 3

4

ファイルを編集したい場合の最も簡単な方法~/mamp/htdocs/project01/(プロダクション サーバーに変更をデプロイする前に、変更をテストできるステージング エリアがあるとよいという点にも同意しますが、それはまさにあなたのマシンである可能性があります)。これはステージング領域なので、すべて問題ありません:-))は次のとおりです。

  1. Mercurial をインストールする
  2. cd ~/mamp/htdocs/project01/
  3. hg init
  4. hg add *.html subdir *.css (管理したいものは何でも)
  5. hg commit -m"initial version"

完了したら、 !の下hg initのディレクトリにリポジトリがあります。hg でこれを (少なくとも) 回避することはできません。project01 にソースがある場合は、project01 にリポジトリが必要です。それだけでバージョン管理の恩恵を受けることができるので、それで十分です。ファイルを変更するたびに、それをコミットして、システムに何をしたかを伝えるログメッセージを与えることができます。.hg~/mamp/htdocs/project01/

  • <edit> a.html
  • hg status (現在変更されているファイルが表示されます)
  • hg diff (保存されたバージョンとの違いを教えてくれます)
  • hg commit -m"what-has-changed-message" (新しいバージョンを保存)

別のレポを別の場所 (/reps など) に置く必要がない場合でも、たとえばデータをバックアップ ゾーンに置きたい場合は、$HOME にレポを複製することができます。

  • cd /reps
  • hg clone /home/name/mamp/htdocs/project01/ project01

これ/reps/project01により、行ったことの正確なコピーが取得されます。すべての変更とすべてのログメッセージです。"hg commit"これを行うと、変更をプライマリ リポジトリに保存するたびに、同期を維持したい場合は変更を /reps に転送する必要が"cd /reps/project01"あります。"hg pull"

それが十分に単純であることを願っています..

于 2010-03-01T12:19:11.183 に答える
1

多くの異なるアプローチ/方法があります。これが私がどのように働くかです:

  1. 開発:ファイルを「開発環境」にチェック (mercurials の場合はクローン) して作業し、コミット/プッシュなどを行います。同じ場所で。

  2. 次の段階:ユーザー テスト / 実稼働 / または次の段階が何であれ、準備が整ったと考えたら、コードを

    2a. パッケージ (最新のファイルの単純な zip である可能性があります) または

    2b. その次の段階のディレクトリにそれらをチェックアウトします。

  3. その他の使用法:主な使用シナリオに慣れたら、タグ付け分岐マージなど、他のリビジョン管理の使用法を検討する必要があります。

于 2010-02-06T20:07:19.920 に答える
1

通常、VCS (バージョン管理システム) とそのファイルは、実稼働 Web サーバー環境とは別に保管する必要があります (htdocs について言及されていることから、これについて質問していると推測されます)。

多くの (少なくとも昔の) Web システムには、ソース システムからマテリアルをコピーするステージング領域があり、2 番目の (公開されていない) Web サーバーを使用して注意深くチェックできます。コードが正しいことを確信したら、本番環境に移行できます。

このシナリオには、次の 3 つの領域があります。

  • VCSなどを使用したワーキング(開発)エリア。おそらく、さらに別の Web サーバー経由でアクセスできます)。
  • ステージング エリア (VCS なし、パブリック アクセスなし、テストと検証)。
  • プロダクション エリア (VCS なし、パブリック アクセス)。

これら 3 つを混同しているように聞こえますが、これは私の限られた経験では一般的なシナリオです。ステージング領域を使用しないことにした場合でも、開発システムと運用システムを分離する必要があります。また、VCS (Mercurial) は作業領域で使用されます。

于 2010-02-06T20:07:44.957 に答える