2

友人と私は、Visual Studio 2010 で取り組んでいる C# w/XNA プロジェクトを管理するために、GitHub と組み合わせて git を使い始めたばかりです。1 人だけがファイルに変更を加えている場合、すべてが正しく機能し、彼の作業がプッシュされ、中央リポジトリと正しくマージされます。ただし、2 人の異なる人が同時にコードに取り組んで変更を加えている場合、最初の人の変更をプルしようとすると、自動マージが失敗するため、最後にプッシュする人が常に手動マージに対処する必要があります。これは、行った変更が無関係であっても発生します (IE 1 人が完全にランダムで未使用のクラスを追加し、もう 1 人が 2 番目のランダムで未使用の変数を別の未使用のクラスに追加します)。私たちはおそらく、この問題を解決するのに合わせて 3 時間ほど費やしてきました。手動のマージを容易にするために使用できるプログラムがあることは知っていますが、この問題の原因となっている設定ではないことを確認したかったのです。ありがとう!

編集:現在、リポジトリで .gitignore ファイルを使用しています (これはここにあります)。2 人目の人が自分の変更をプッシュする前にプルしてマージすると、ローカル コピーに変更が加えられたように見えます (つまり、彼のプロジェクト ファイルは以前に行った変更を登録します)。彼が git pull を実行したときのエラー:

警告: バイナリ ファイルをマージできません: collision/collision.suo (HEAD vs db023c2075...)

自動マージの collision/collision.suo CONFLICT (コンテンツ): collision/collision.suo でのマージの競合 自動マージに失敗しました。競合を修正してから、結果をコミットします。

確認したところ、ignore ファイルに .suo 拡張子が含まれているため、この問題の原因がわかりません。さらなる助けがあれば大歓迎です。すでに投稿した人に感謝します。

4

2 に答える 2

2

大丈夫!最終的に問題を解決しました。どうやら問題は .gitignore ファイルとその作成方法にあったようです。以前、メモ帳でファイルを作成したばかりだったのですが、ピックアップされていなかったようです。私がしたことは、次を使用してgit bashで再作成することだけでした:

タッチ.gitignore

それを追加してコミットします。すべての提案に感謝します。間違いなく正しい方向に進みました。

于 2012-04-27T06:35:01.160 に答える
1

バイナリおよびローカル構成ファイルを無視していない可能性があります。ファイルを作成.gitignoreし、レポに追加したくないものをリストする必要があります。詳細はこちら

于 2012-04-26T19:44:02.620 に答える