5

私は現在、Git を使用しているチームに属しており、ワークフローはかなり良好です。dev と master の 2 つのブランチを持つ中央リポジトリがあります。個々のタスクに取り組むためにローカル ブランチを作成します。準備ができたら dev にマージします。その後、準備が整ったら master にマージし、すべてのリリースにタグを付けます。複数の開発者がより直接的にタスクに協力する必要がある場合は、一時的なリモート ブランチを作成して、パッチを共有することができます。これは非常にうまく機能していますが、2 つの問題が残ります。

1 つの問題は、バックアップの問題です。確かに、ほとんどのコード ベースはバックアップされています。リポジトリのクローンを持つすべてのマシンには、ほとんどのコードがあります。ただし、誰かが 1 日のうちに書いたコードは、dev にマージしてプッシュするまでバックアップされません。彼らが取り組んでいるタスクが重要である場合、価値のあるマージとプッシュが行われるまでに数日かかる可能性があります。この作業中のコードが中央の安全な場所にバックアップされていることを確認するにはどうすればよいでしょうか? Git 以外のバックアップ ソリューションを使用するだけですか?

2 つ目の問題は、従業員の進捗状況の監視の問題です。マネージャーは、開発者が毎日どのようなコードを書いたかを確認できるようにしたいと考えています。何も押し出さなかった日が買いに行くと、一日中何もしなかったように見えます。コミット、マージ、およびプッシュの準備ができていないコードをコミットおよびプッシュすることを強制しない、毎日の作業を示す何らかの方法が必要です。

私たちが検討した解決策の 1 つは、作成するローカル ブランチごとに中央レポにリモート ブランチを作成することです。これはおそらく機能しますが、古い未使用のブランチを定期的に削除したとしても、非常に雑然とした混乱になります. また、それらすべてを管理するのは多くの余分な作業です。

Git ワークフローを中断することなく、これらのビジネス要件を満たすにはどうすればよいでしょうか?

4

2 に答える 2

3

このようなことを検討することができます。開発者のプライベート バックアップには、ブランチ以外の名前空間を使用します。たとえばrefs/backups/xxx/*、xxx は開発者のユーザー ID またはイニシャルなどです。

その後、開発者はgit push origin +refs/heads/*:refs/backups/xxx/*すべてのローカル ブランチをバックアップできます。

デフォルトでは、開発者は互いのプライベート バックアップを表示しませんが、必要に応じて取得できます。

git backupバックアップ プッシュ式は、エイリアスを介してコマンドにすることができます。

私はそれは良い考えではないと思いますが、開発者のプライベート ブランチを使用して彼の「進捗状況」を確認できます。これはマイクロ管理のように聞こえます。

編集:それを書いているとき、これは非常になじみのあるものであり、その理由を思い出しました. 少し前の別の質問への回答として、同様のことについて書きました: link

于 2009-11-19T18:02:46.450 に答える
2
于 2009-11-19T21:58:55.983 に答える