2012-03-25 15 views
9

私は2つのファイルを持っているマージ:Git。同じ支店内の別のファイルへの1つのファイルから変更

master/newsletter1/file.html 
    master/newsletter2/file.html 

ニュースレター1/file.html、私はnewsletter2/file.htmlにマージする新しい変更をたくさん持っています。どうすればこれを達成できますか?私が読んだものは、ブランチ間のマージについて解決しているようですが、これらは同じブランチにあります:/

答えて

9

2つのファイルを手動でマージするには、任意のサードパーティの差分ツールを使用することをお勧めします。
これは、ソース管理(つまり、の1つのバージョンの履歴を管理することではなく、ファイル)です。
これは、あるファイルから別のファイルへの変更を報告することです(ソース管理ツールは、2番目のファイルの新しいバージョンを取得します)。


Jefromiはコメントで言及し、彼は「run git merge algorithm on two individual files」で説明しているように、git merge-fileは実際には2つの異なるファイルをマージすることができ、共通の祖先が提供されて提供されるように。

git merge-file <current-version> <common-ancestor> <other-version> 

あなたの場合、共通の祖先が現在のファイルと同一であることを試すことができます。

git merge-file master/newsletter2/file.html master/newsletter1/file.html master/newsletter2/file.html 
+0

あなたは絶対に正しいです。私はこれの代わりにnetbeansを使用しています。 – Nadine

+2

共通の祖先に妥当なものがあれば、 'git merge-file'を使うことができます。 – Cascabel

+0

@Jefromi興味深い。共通の祖先が「現在のファイル」(つまり、宛先)と同じ場合はどうなりますか?それは最初のファイル(ソース)によって導入された変更を検出するために働く可能性があります – VonC

関連する問題