Я пытаюсь использовать git add -p
, чтобы создать конкретный кусок изменений индекса.Почему этот патч не применяется?
Вот ломоть, как Git предлагает:
@@ -7,8 +7,15 @@
<title>{{ page.title }}</title>
<link rel="stylesheet" href="/css/style.css">
</head>
- <body>
- <div class="content container">
+
+ <body class="container">
+ <ul class="navigation">
+ {% if page.url != '/index.html' %}
+ <li><a href="/">Home</a></li>
+ {% endif %}
+ </ul>
+
+ <div class="content">
{{ content }}
</div>
</body>
и вот моя попытка редактирования этого патча:
@@ -7,5 +7,5 @@
<title>{{ page.title }}</title>
<link rel="stylesheet" href="/css/style.css">
</head>
- <body>
- <div class="content container">
+
+ <body class="container">
Git отвергает этот патч, говоря:
Отредактированный hunk не применяется. Изменить снова (говоря «нет» отбрасывает!) [Y/n]?
Я не понимаю, хотя:
- Оба
-
и+
начало в строке 7 - Оба
-
и+
идут на 5 линий
Когда я смотрю на исходный файл (ниже) и мысленно попытаться применить мой рекомендуемый патч, это, похоже, имеет смысл. Что не так?
Для справки, вот весь исходный файл:
1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="utf-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <title>{{ page.title }}</title>
8 <link rel="stylesheet" href="/css/style.css">
9 </head>
10 <body>
11 <div class="content container">
12 {{ content }}
13 </div>
14 </body>
15 </html>
Кроме того, здесь патч я писал, что Git не жалуется:
@@ -7,8 +7,9 @@
<title>{{ page.title }}</title>
<link rel="stylesheet" href="/css/style.css">
</head>
- <body>
- <div class="content container">
+
+ <body class="container">
+ <div class="content">
{{ content }}
</div>
</body>
Это на самом деле лучше патч в некоторых но я хотел бы понять, почему Git не нравится мой первый подход.
Вы включили последние три строки патча (для контекста) в отредактированный патч? Я не знаю, имеет ли это значение, но это было бы неправильно. – siride
Да, моя вторая попытка патча (тот, который работает) имеет контекст в конце. Первый - тот, о котором идет речь, - не имеет контекста в конце. ** Я разместил все дословно. ** Я немного думал, что контекст является обязательным, но я просто столкнулся с Git-сгенерированным патчем без конечного контекста. Опять же, этот патч был для hunk в файле. Таким образом, я не знаю, что требуется контекст. –
попробуйте с контекстом и отчитайтесь. – siride