ソース管理を使用している場合は、同僚による変更をPCにコピーする前に、ローカルワークスペースをサーバーと同期する(最新のコードを「取得」する)必要があります。
変更を加える前に最新のコードを「取得」しない場合は、変更を他の人のコードとマージする必要があります。これは、特にデフォルトのVisual Studio自動マージを使用する場合、困難で時間のかかる、または危険なプロセスになる可能性があります。プロセス。これは通常、間違ったことを行い、本質的に破損したコードになります(たとえば、説明しているように、同僚の作品を削除したように見えます)。
ソース管理を操作する最良の方法は、「ほとんど頻繁に」アプローチすることです。
- 新しい作業を開始する前に最新のソースコードを入手して、PCを可能な限り最新の状態にしてください。
- 通常、最新のコードを頻繁に「取得」して(たとえば、毎朝最初に取得する)、マージの競合にフラグを付けてできるだけ早く処理することをお勧めします。マージするまでの待機時間が長くなると、マージプロセスが悪化する傾向があります。(警告:サーバー上のコードの現在のバージョンが機能していることをビルドシステムに確認してから取得してください。壊れたコードをPCに取り込むと、まったく機能しなくなる可能性があります)。
- 完了時に安全にチェックインできる小さな増分ステップをできるだけ多く作業に配置します(数百のファイルで3か月間作業してから、1つの大きな変更としてシステムにダンプするのではなく)
- チェックインする準備ができたら、最新のコードを取得し、再構築して、変更を再テストし、最新のプログラムコードと統合しても機能することを確認します。すべてがうまくいくかどうかだけチェックインしてください。
また、ファイルを編集しようとすると、ソース管理プロバイダーがそのファイルの最新バージョンを自動的に「取得」する場合があることにも注意してください(これにより、Visual Studioがファイルをリロードしたことを通知し、おそらくあなたが言う理由を説明する可能性があります他の誰かによって最近変更された新しいファイルの編集を開始するまで行われないため、「更新」に時間がかかる場合があります)。この場合、真実は、ソースコードのセット全体を「更新」しておらず、1つのファイルだけを更新しているということです。この場合、ソースコードに対する最新の変更をすべて取得する必要があります(更新していない場合)。コンパイルできない、または(さらに悪いことに)コンパイルされても、コードの一部のみが最新であるために未定義の動作を示す場合があります)
最後に、コードをチェックインするときの非常に良い方法は、チェックインしているファイルのリストを調べ、それらを最新のサーバーコードと1つずつ比較して、何が変更されたかを確認することです。これは面倒に聞こえるかもしれませんが、いくつかの利点があります。
- それはあなたが何をしたかを思い出させます。それはあなたのすべての変更を明確に説明し、重要なメモを見逃さないようにするためにチェックインコメントを記入するのに役立つことがあります。
- マージプロセスで失敗したものを簡単に見つけることができます-触れていないことがわかっている、作成または削除されたように見えるコードのチャンクがあります。したがって、変更を「削除」することで同僚を煩わせるのではなく、チェックインする前にこれらの問題を発見して修正することができます。
- これは、チェックインする前に取り出すのを忘れた一時的なデバッグコードを見つけるのに非常に便利です。
- チェックインしようとしているコードの一部をダブルテイクして、「えっ?どうしてそんなことをしたの?」と思うことさえあるかもしれません。そして、あなたは再検討することを決定するかもしれません、そしておそらくあなたが行って良かったと思ったコードを書き直すことさえするかもしれません。
最後の注意:編集で表示するオプションは、PC上の別のプログラムによってPC上のファイルに加えられた変更にのみ関連しています。別のユーザーが変更を加えてソース管理にチェックインした場合、これらのオプションは効果がありません。Visual Studioがこれらの変更に反応するのを見ることができるのは、ソース管理システムがそれらの変更をPCのハードドライブにコピーするときだけです(ソース管理システムがVSとどの程度統合されているかによって異なります)。