Когда я пробовал git add -p someNewFile.txt
новый файл (неотслеживаемый файл), git просто выводил No changes.
и останавливался. Мне пришлось сказать git, что я намереваюсь сначала отследить новый файл.
git add -N someNewFile.txt
git add -p
Однако, поскольку файл не отслеживался, он отображался как один гигантский кусок, который нельзя было разделить (потому что он все новый!). Итак, мне нужно было отредактировать кусок на более мелкие части. Если вы не знакомы с этим, ознакомьтесь с этой ссылкой, чтобы начать работу.
Обновление - информация о редактировании фрагмента.
Я хотел обновить это на случай, если указанная выше ссылка исчезнет. Поскольку новый файл не отслеживается, git add -p
каждая строка в файле будет отображаться как новая строка в одном фрагменте. Затем он спросит вас, что вы хотите сделать с этим фрагментом, предоставив вам следующую подсказку:
Stage this hunk [y,n,q,a,d,/,e,?]?
Предполагая, что вы не хотите фиксировать весь кусок (и, следовательно, весь файл; потому что я не уверен, почему вы хотите использовать git add -p
в этом случае?), Вы захотите указать параметр, e
чтобы сообщить git, что вы хотите отредактировать ломоть.
Как только вы сообщите git, что хотите отредактировать кусок, он должен перетащить вас в выбранный вами редактор, чтобы вы могли внести свои изменения. Все строки должны иметь префикс a, +
а #
в конце файла git есть пояснительные комментарии (с префиксом a ). Просто удалите все строки, которые вам не нужны при первоначальной фиксации файла. Затем сохраните и выйдите из редактора.
Объяснение Git опций фрагментов git:
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
git add -N
делает, он просто добавляет указанные неотслеживаемые файлы в индекс, но без содержимого.