1

EGit を使用している 2 人の開発者がいます。1 つは Windows で動作し、もう 1 つは Linux で動作します

そして、以下のようにコラボレーションのポリシーを設定します。

  • 中央の (裸の) リポジトリがあります
  • 最初に、各開発者は中央リポジトリからチェックアウトし、ローカルで作業します。
  • 2 つの作業を同期する必要がある場合は、中央リポジトリからプル/プッシュします。

中央リポジトリを使用すると、将来、チーム内のより多くの開発者と簡単にコラボレーションできると考えています。

ある開発者が別のディレクトリに移動したファイルを別の開発者が変更したときに競合がまったくないことを検出するまで、すべてが正常に機能します。手順は次のとおりです。

  • ある開発者がファイルを別の場所に移動します。それを彼のローカルリポジトリにコミットします。中央リポジトリにプッシュします。
  • もう 1 つは、その (同じ) ファイルの内容を変更します。それを彼のローカルリポジトリにコミットします。中央リポジトリをプルします。

2 番目の開発者が「プル」を行うと、競合レポートが発生することが予想されます。しかし、競合はありません。そして、彼の作業ディレクトリ (およびローカル リポジトリ) に 2 つのファイルが表示されます。

  • 彼が改造したもの
  • そして、最初の開発者が別のディレクトリに移動したもの。

誰か私たちの間違いを教えてください。

私たちの働き方は git の設計に違反していませんか?

私たちは git を初めて使用します (CVCS には長い間精通しています)。この問題に直面したことで、私たちのチームの作業を統合することが非常に困難になることを意味するため、非常に心配しています。私たちは何か間違ったことをしなければならないと信じています。私たちを明確にしていただきありがとうございます。

4

2 に答える 2

0

私の推測では、ファイルを移動していません。ファイルを移動すると、削除して作成されます。人々が変更を追加するとき、通常、新しいファイル、追跡されたファイルだけでなく、削除されたファイルも含めるために -u または -A オプションを追加するのを忘れます。

ファイルの移動後、必ず変更の削除側をステージングしてください。疑わしい場合は、移動を行うコミットで古い場所からファイルを削除したことを git log --stat で確認してください。

お役に立てれば

于 2011-05-01T18:31:28.747 に答える
0

Egit を使用しているため、コマンド ラインはありません。そして、コミット時に、削除されたファイルと追加されたファイルの両方を確認したと確信しています。

しかし、奇妙なことに、私は次の方法で再試行しました:

  • ローカル リポジトリの削除 (リポジトリ ビューから、右クリック、削除...)
  • 中央レポから再度チェックアウト (クローン)
  • 上記の手順を正確にやり直します

すべてが期待どおりに機能します。チーム>プルを作成できるため、以前のローカルリポジトリに問題があるに違いありません。フェッチしてからマージする必要があります。上記のように再度チェックアウトした後。今は大丈夫です。

于 2011-05-02T14:57:54.707 に答える