1

MapBox-ios-sdk プロジェクトを git clone しました。私は、貢献するのにふさわしくないいくつかの醜いハック変更をコードに加えました。しかし、MapBox-ios-sdk は最近変更されました。私のハックを維持しながら、彼らの最新の変更を私のプロジェクトにマージしたい場合、Git でそれを行うベスト プラクティスは何ですか? クローンを作成したときに最初に分岐する必要がありましたか? または、マスター ブランチで変更し、公式ソースから git pull して競合を解決し、将来の SDK バージョンでもそれを維持する必要がありますか?

4

2 に答える 2

1

あなたのハッキングはあなたのローカルmasterブランチにコミットされていると仮定します。次のようにしてブランチに移動できます。

git branch -m master myhack
git branch myhack^ master

これにより、1 つのコミットを含むブランチ (複数のコミットがある場合はmyhack調整) と、プロジェクトの元のマスターに一致するブランチが得られます。myhack^master

この時点で、master競合することなく新しいコードをローカル ブランチにプルできます。次に、ブランチに切り替えてmyhack、新しいマスターを次の場所にマージします。

git checkout myhack
git merge master
于 2012-10-16T03:55:49.027 に答える
0

最初に分岐しなかったので、あなたの最善の行動はあなたが説明したものです: master ブランチで変更し、公式ソースから git pull して conflict を解決するだけです。

于 2012-10-16T03:49:05.217 に答える