Можно ли применить весь коммит из файла, созданного с помощью git show? - PullRequest
1 голос
/ 29 мая 2019

Есть ли способ создать новый коммит в Git, используя файл, который предоставляет как изменения, так и сообщение о коммите, как это делает вывод из git show?

Было бы хорошо, когда другие метаданныеполя, такие как Author, AuthorDate и т. д. также будут приняты во внимание.

1 Ответ

0 голосов
/ 29 мая 2019

Да , git show имеет для этой цели флаг -p.

git show -p abcd1234 > path/to/file.patch

Будет создан текстовый файл (его можно открыть в любом текстовом редакторе)с содержанием в следующей форме (обратите внимание на нужные метаданные)

commit 8aab31565962f681639d0a7b6b5b8c0d3fe6b695
Author: John Doe <john.doe@corporation.com>
Date:   Tue May 28 17:05:01 2019 +0200

    Made some critical changes to function foo_bar

diff --git a/path/to/file b/path/to/file
index 8a443961df..5b5ad4726a 100755
--- a/path/to/file
+++ b/path/to/file
@@ -2620,6 +2620,6 @@ function foo_bar() {
 /**
  * Function documentation
  */
-function foo_bar() {
+function foo_bar() {
   someFunction("param");
 }

, и в будущем вы сможете применить исправление в другом месте с помощью

git checkout someBranch
git apply path/to/file.patch

См.соответствующий документ раздел для деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...