2017-08-06 3 views
1

私の現在のプロジェクトでは、すべてのチームメンバーは最近、開発中にいくつかのコラボレーションシナリオがあるGitを初めて使用しています。開発中のGitでのコードチェックのコラボレーション

私の質問は、各開発者(このシナリオでは開発者1 & 2)がローカルにローカル機能ブランチを作成したプロジェクトで複数のチームメンバーが作業している場合です。
しかし、他のモジュールには依存関係があります。
Developer 1コードの最新コードをDeveloper 2マシンに取得するには、Developer 1のフィーチャーブランチをGitHubリモコンにプッシュして、Developer 2がDeveloper 1の最新コードをフェッチできるようにする方法があります。マージのためのマスターへの分岐?

この問題を回避するためのベストプラクティスがあるかどうか教えてください。シンプルな依存関係のために

(DEV1がDEV1コードに依存DEV2コードに依存する)DEV1が彼/彼女の機能を更新した後

答えて

0

うまくいけば、我々はここで交差し、依存関係の話をされていない、DEV2は(実行する必要がありますブランチ)

git fetch 
git checkout dev2_feature_branch 
git rebase origin/dev1_feature_branch 
git push -f 

(またはgit push -u origin dev2_feature_branchこれはブランチが公開された最初である場合)
プロセスは、必要に応じて多くの時間を繰り返すことができます。

+0

これは正しいです。循環的な依存関係はなく、Dev2がdev1_feature_branchからフェッチできるように、そして変更後に同じことをプッシュするというアプローチが理にかなっています。ありがとうございました。 Dev2はフェッチを行いますが、 が矛盾する可能性があります。その場合、Dev2は更新された変更を解決してプッシュする必要があります。私が間違っていれば私を訂正してください。 – Sujit

+0

@SujitTripathy自分でフェッチすると競合は発生しません。ローカルのリポジトリのリモート履歴を更新するだけです。リベースは、ipdatedリモートdev1ブランチの上でコミットを再生するときに競合が発生する場所です。そのリベースを何度も繰り返している(同じコミットを解決している)人がいる場合は、 'git rerere'を見てください:https://stackoverflow.com/a/44471764/6309 – VonC

関連する問題