職場で Git に切り替えようとしていますが、いくつかの問題が発生しています (最初から述べておきますが、職場で Git の基本的な経験があるのは私だけであり、別の同僚は過去に Subversion を使用していましたが、それでおしまい)。
私たちは次のようなことを想定しています。
- 安定したプロジェクトが配置されているメイン ディレクトリがあり、プロジェクト マネージャーがサイトを確認し、必要に応じてデバッグできます。このメイン ディレクトリ (MAIN と呼びましょう) は、すべての開発者の元のリポジトリでもあります。
- プロジェクトに取り組んでいるすべての開発者は、サーバー上にメインのクローンを作成し、変更に取り組み、再度メインにプッシュするサブディレクトリを持っています。そこからお互いの変更も引き出します。
今日これをやってみましたが、すぐにベアリポジトリ以外のマスター -> マスターにプッシュすることは推奨されないことに気付きました。理由を読むと、これは私には理にかなっています。master -> master push (非ベアリポジトリへ) を実行したい場合、いくつかの解決策を見つけましたが、それらはすべてオリジンでさまざまなコマンドを実行する必要があります (リセットまたは別のブランチからのマージ)。解決策は、私が知る限り、MAINをベアリポジトリに変換することです。ただし、これは、作業ディレクトリがないため、PM がプロジェクトを表示できなくなったことを意味します。
これを解決するための最良のアプローチは何ですか?ファイルを表示できるように、裸の MAIN リポジトリを自動的にエクスポートするフックを設定しますか?
おまけ: MAIN は時間の経過とともに独自のクローンになります。すべてのプロジェクトで使用される既定のテンプレートがあります。既定のテンプレートから MAIN を複製し、それに何かを追加することをお勧めします。これは悪い習慣と見なされますか? デフォルトのテンプレートに戻す必要はありませんが、バグ修正をプルしたい場合があります。裸の MAIN リポジトリを開始し、デフォルトのテンプレートをコピーしてそこに貼り付けますか?