1

私と私の友人は Git を使い始めて 2 日が経ちましたが、Facebook メッセージを使用してファイルを送信および同期する場合と比較して、Git を適切に使用し、その機能を最大限に活用するためのノウハウはまだ不足しています。ネットで検索したところ、Egit のガイドのほとんどは、ユーザーが 1 人で作業するか、他の誰かがクローンを作成して独自のレポに分岐することを前提としています。しかし、私たちは同じプロジェクト (2D RPG) で共同作業を行っており、共同作業のために Egit を適切に使用する方法がわかりません。私たちが直面している問題のいくつか:

1. 私たちはプロジェクトのまったく同じコピーを持っていました。彼は私たちが使用するメソッドのいくつかを変更し、私は使用するクラスとリソースのいくつかを変更しました。彼は最初にレポにコミットしてプッシュしました。Egitが不平を言うファイル(レポとローカル)の競合が解決されなければならないため、プッシュ、コミット、またはプルすることさえできません。

2. 共同作業しているコードをどのように適切に同期しますか? 私たちのどちらかが最初にレポにプッシュするとしましょう。もう一方 (プーラー) は、自分のコードが完全に上書きされないようにするために何をしなければならないか、変更された部分のみを受け入れ、変更する必要があると思われる部分のみを受け入れます。

3. (新しい) ローカル ブランチを作成し、これにプルし、変更を確認し、必要な変更をマスター/メインにマージする必要がありますか? どうすればこれを適切に行うことができますか。

どんな意見でも大歓迎です。壊れた知識ですでにはるかに効率的です。より多くのことは良いことです :)

4

1 に答える 1

2

ここに私の答えがあります:

  1. まったく同じコピーがありました...ファイル内の競合(レポとローカル)のため、Egitは解決する必要があります。

    • 最初に、いつでもコミットできるように、別々のブランチを使用していることを確認する必要があります。
    • 次に、マージ時に競合を解決する必要があります。
  2. コードを適切に同期するにはどうすればよいですか...

    • コードを master ブランチにプルする前に、別のブランチを使用してコードに問題がないことを確認してください。
  3. (新しい)ローカルブランチを常に作成する必要がありますか...

    • はい、git は、これが最善の作業方法であるという前提に基づいて構築されています。「すべてがローカル」

これは、私または私たちが通常ブランチを使用する方法です。

  • メイン開発ブランチ (マスター)

  • このプロジェクトによって追加された機能をマージするために使用されるプロジェクト ブランチ。すべての機能が追加され、機能しているように見える場合、これは master ブランチにプッシュ/マージされます。

  • 開発者ブランチ、すべての開発者は、プロジェクト ブランチにプッシュ/マージする前に、特定の機能を開発するための独自のブランチを持っています。

特定のリリース ブランチを持っていると便利な場合もあります。つまり、プロジェクトが追加されたすべての機能をマスター ブランチにマージし、すべてが問題ないように見える場合、回帰テスト用にリリース ブランチが作成されます。このブランチには、すべてのテストが完了すると、最終的にリリースされたソフトウェアが含まれます。別のリリース ブランチを作成する利点は、メイン ブランチを引き続き開発できることですが、以前のリリースで迅速なバグ修正を行う必要がある場合は、そのリリース ブランチで実行し、後でマスター ブランチにマージできます。

//jk

于 2013-03-09T01:46:22.050 に答える