1

私のチームは現在、古くて恐ろしいソース管理ライブラリを使用しており、より成熟したシステムに切り替えることを検討しています。Git は私たちにとって最も魅力的なものです。

私たちは社内で使用するソフトウェアとスクリプトを開発し、同時に多くのプロジェクトに取り組んでいます。同じ開発者が、数週間にわたる長期プロジェクトに取り組んでいる可能性があり、その中間にはいくつかの小さなプロジェクトから小さなプロジェクトが含まれています。

現在の VCS には中央リポジトリがあり、全員がこの 1 つの場所にチェックアウトして戻ってきます。ワークステーションには現在のコピーしかありません。

現在のライブラリでできることの 1 つは、ファイルをチェックアウトしたが、変更をチェックインするのを忘れた人を確認することです。git では、すべてのリポジトリがローカルにあるため、誰かが中央のコピーへのプッシュを忘れたかどうかをどのように知ることができますか?

4

1 に答える 1

3

重要な質問は、なぜ知る必要があるのか​​ということです。技術的な問題ではなく、人の問題があるように見えるからです。このような問題に対する技術的な解決策が実際にうまくいくことはめったにありません。

古いバージョン管理システムは、サーバーでの「チェックアウト」操作を認識していました。マージが苦手だったため、2 人が同時に同じファイルで作業するのを防ぐ必要がありました。しかし、人々がお互いに待つ必要があったため、多くの問題が発生したため、複数の人が同時に同じファイルで作業できる「編集-マージ-コミット」ワークフローに置き換えられました。ほとんどの場合、簡単に組み合わせることができます。そして、バージョン管理サーバーはローカルの変更を気にしなくなりました。分散バージョン管理は、中間ステップを並行履歴として保存することにより、これをさらに一歩進めます。

したがって、だれもがブロックされるため、誰がローカルの変更を行っているかを知る必要はありません。そうではありません。

私が考えることができる唯一の他の理由は、彼らがまだそれを終えていないことを彼らに思い出させることができるようにすることです. そして、それは人の問題であり、コミットされていない変更を見ても解決しません。彼らが始まらなかったとしたら?それとも、何らかの理由でチェックアウトを開始してからキャンセルしましたか?

そのため、割り当てられたタスクを追跡し、ステータスについて尋ねる必要があります。また、git を使用すると、一時的なブランチにプッシュしたり、電子メールで差分を送信したり、ネットワーク経由でローカル リポジトリをエクスポートしてプルできるようにすることで、進行中の作業を簡単に表示できます。

于 2012-07-26T12:28:25.020 に答える