/ / Чому git застосовує не знаходження файлу для виправлення в поточному каталозі? - git, патч, застосовувати

Чому git застосовує не пошук файлу для виправлення в поточному каталозі? - git, patch, apply

Я хочу застосувати патч до файлу в поточномукаталог. Шлях у файлі patch говорить просто a / FILETOPATCH.something b / FILETOPATCH.something. Якщо я використовую це з git, він не працює. Файл для виправлення та файл .patch знаходяться в тому ж каталозі.

Я спробував --directory та -p варіант у багатьох варіантах без успіху.

Використання патча -p1 <patchfile.patch працює нормально.

Якщо я встановлюю абсолютний шлях від кореня сховища всередині файлу .patch, то він також працює з git, але обов'язково має бути спосіб без редагування полів патчів.

Це працюватиме з git

diff --git a/htdocs/something/whatever/file.code b/htdocs/something/whatever/file.code
index 385f3f4..07d8062 100644
--- a/htdocs/something/whatever/file.code
+++ b/htdocs/something/whatever/file.code
...
PATCH DATA
...

Але не це (це оригінал)

diff --git a/file.code b/file.code
index 385f3f4..07d8062 100644
--- a/file.code
+++ b/file.code
...
PATCH DATA
...

Будь-які ідеї, як отримати git застосовувати роботу без зміни файлів патч?

Відповіді:

1 для відповіді № 1

Як зробити файл diff?

Ну, це мій процес про те, як застосувати патч. Сподіваюся, що це допоможе вам

git diff --full-index <SHAsum of commit A> <SHAsum of commit B> > change.patch     (full index for binary file)
git apply --check --verbose --summary change.patch  (check if it is in good patch or not)
git apply --verbose change.patch