2016-09-27 9 views
0

私は自分の問題を説明しようとしています。私はローカルの(gitのバージョン管理下ではない)プロジェクトをそのマスターgitブランチの変更とマージしたいと思います。git-diffの変更に合わせて強制的にマージする

つまり、私はプロジェクトにいくつかのローカル修正を行いました(しかし、私はgitを使用しませんでした)。一方、いくつかの変更がマスターブランチに追加されました。さて、ローカルバージョンとgitリポジトリの "マージ"を行うプロジェクトのローカルバージョンを更新したいと思います。私が試した何

  • を、私はマスターのブランチを作成しました。
  • 新しいブランチに変更をコピーしました。
  • 私は新しい作成したブランチにマスターをマージしようとしました(と明らかにそれが動作しません)

私は新しいブランチとマスターの間でのgit-diffをを使用している場合、私はすべての違いを参照してください。そのような違いを持つ支店を持っていきたいと思います。私はその違いによって引き起こされる競合を解決します。

私の問題を解決するための提案はありますか?

答えて

0

あなたのローカル変更に基づいてmasterでコミットを特定できれば、このコミットをチェックアウトして、マスター "master_old"ブランチの「古い」バージョンを作成し、変更をコピーしてコミットできます。次に、masterをあなたのブランチにマージして、結果として生じる競合を解決することができます。

+0

を実行します。 –

0

複雑なように見えますが、いくつかのビジュアルマージツールを使って手助けすることができます。

それとも、新しい変更せずに、最後のバージョンに行きたい場合は、ただ残念ながら、私は古いコミット突き止めることはできませんgit reset --hard HEAD~

mergeconflicts

visual mergetool

+0

私が行った手順によれば、私は葛藤していません。私はマスターと私の支店の間のすべての差異が紛争として扱われることを望みます。 –

+0

これを手動で行うには、 'git add -p'を使い、今度は' y'を追加し、今回は追加しないために 'n'を使い、少しずつ' s'を実行してください。したがって、あなたは前の変更を追加し、古いものをコミットし、新しい変更を追加し、新しいものをコミットすることができます。 – ColorWin

関連する問題