私はa
とb
という2つの異なるローカルgit reposを持っています。それらは両方ともホームディレクトリのprojects
フォルダにあります。私は両方のreposで特定のファイルを比較したい、それをfoo
と呼んで、そのdiffをa
に適用しようと思います。2つの異なるgitリポジトリにあるファイル間でdiffを取得し、最初のrepoに適用します
私は差分を見て、それは私が適用する変更が含まれていることを確認することができa
内部からgit diff ./foo ../b/foo > diff.diff
を実行しますが、私はgit apply diff.diff
を実行したとき、私はこのエラーを取得する場合:
fatal: invalid path './foo'
私がしようとした場合私は差分を適用しようとすると、git diff ~/projects/a/foo ~/projects/b/foo > diff.diff
を実行し、その後、私はこのエラーを取得する:
error: home/ryan/projects/a/foo: No such file or directory
今、私はちょうど差分を適用するのと同じ効果を得るためにファイルをコピーすることができますが、そこには良い理由は、このISNです働いている?
diffは1つのリポジトリ内でのみ使用できます。しかし、あなたは通常の 'diff'を実行することができます。 'diff'の出力を' git apply'で使うには、unidiff形式に 'diff -u'を使います。 – Mort
私はちょうどそれを使って相対パスを使ってみましたが、diffを正常に作成しましたが、同様の 'No such file or directory'エラーが出ました。 – Ryan1729