1

もともと、私の問題はHow to maintain branches in Apache's DocumentRoots?だと思っていましたが、正しい質問は実際には であることに気付きましたHow to use Git to deploy stuff to web -server such as Apache?

DocumentRoot -問題を理解したように感じます。回避したい Apache ハッキングが必要になるでしょう。これは、副作用を使用してレポを配置の外に配置するはるかに単純なソリューション -dir ですが、git-fetch-hook を理解するための問題と外側のものが大きなディレクトリである場合、おそらく cp と mv の場合にデプロイする方法 - しかし、デプロイ -dir を同期するより良い方法があるはずです。

DocumentRoot -問題

DocumentRoots は、ホスト可能な素材の httpd.conf 内のディレクトリを指定します。そのようなフォルダーに、ticgit -branches と feature -branches が必要です。いくつかの DocumentRoot にブランチを作成すると、master と他のブランチが混同されます。$ git checkout --orphan feature-0.01空ではありませんが、マスターのものを含んでいます。$ ti new ...master からのものを持つブランチを作成します。明らかに Ticgit のバグです (小さなリポジトリでは機能しますが、DocumentRoot のような大きなリポジトリ用に ticgit -branch を作成すると大混乱になります)。では、Apache の DocumentRoot でブランチを維持するにはどうすればよいでしょうか。そこにチケットはありますか?フィーチャーブランチについてはどうですか? 私はこれに戸惑って$ git checkout feature-0.1いますが、Apacheはどのファイルをホストすべきかをどのように認識していますか? master のものか のものfeature-0.1か ?

DocumentRoot -問題に関する私の最新の理解

後者の問題は、展開がこのように機能することを意図していないことです。SethRobertson のガイドで、デプロイに git を使用するいくつかの方法が指示されていることは知っています。deployment -dir (通常は www) 内で git -repo を使用して Apache をハッキングする代わりに、これまでのところ最良の方法だと思います。

4

1 に答える 1

2

違う!

デプロイメント内で開発しないでください -dir (通常、Apache では www)。他の場所で開発し、SethRobertson のガイド (こちら) で概説されている副作用と適切なバージョン管理の適切なルール、特にバージョン 1.0 の展開ブランチとタグ付けに関するルールを使用して、時間の経過とともに物事がどのように発展するかのタイムラインを維持します。彼は、開発と展開を台無しにするアクティビティについて以下で述べていますが、おそらくユーザーにとっても良いことではありません (ブラウジング中に Web サイトの編集を見たくないでしょう)。

SethRobertson のガイドには、展開と開発を台無しにするための禁止事項が記載されています

git を Web デプロイ ツールとして使用する

はい、他の例もありますが、git を使用して Web サイトを管理することに関する Abhijit Menon-Sen のドキュメントのようなものを使用して、十分に単純な/重要でない環境で実行できます。ただし、これはアトミックな更新、同期されたデータベースの更新、または産業用展開システムのその他の付属品を提供しません。

チュートリアルはこちらUsing Git to manage a web site、例はこちらこちらですが、彼の警告に注意してください。"however, this does not give you atomic updates, synchronized db--"

于 2012-07-07T02:48:12.473 に答える