Как можно добавлять новые файлы в git по частям, а не по всему файлу? - PullRequest
0 голосов
/ 28 июня 2018

У меня уже есть определенный репозиторий с некоторыми файлами. Теперь я создал новый файл, но в нем было несколько блоков кода, из которых я хочу создать различные коммиты.

$git status
On branch bar
Your branch is up to date with 'bar'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   a.c

Untracked files:

(use "git add <file>..." to include in what will be committed)

        b.c

Я хочу создать два коммита из файла b.c , причем каждый коммит содержит разные фрагменты кода.

Теперь, если я сделаю git add b.c или что-то похожее, оно сразу переместится b.c в промежуточный каталог.

Я пытался использовать git add -p и git add -i, но они не делают того, чего я намерен достичь. Возможно ли это сделать?

P.S .: Это вариант использования, предназначенный скорее для того, чтобы попытаться понять Git, чем для практического применения. Я знаю, что одним очевидным ответом было бы сначала написать фрагмент кода, который вы хотите использовать в первом патче, зафиксировать его, а затем написать код для другого патча и зафиксировать его. Но может возникнуть случай использования, когда вы написали файл, который может понадобиться различным рецензентам для просмотра разных частей файла, а не для того, чтобы они пробирались по другим частям кода, а просто попросили их посмотреть, что они намерены просмотреть. Так что рассматривайте это как запрос к Git.

1 Ответ

0 голосов
/ 28 июня 2018

Установить файл как отслеживаемый без добавления изменений в индекс

git add --intent-to-add b.c

см .: Запустить отслеживание файла в Git без добавления в индекс

Затем разбить файл на фрагменты

с использованием git add -p или git add -e.

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