Разница между измененным коммитом Git и новым файлом Git коммит - PullRequest
3 голосов
/ 23 марта 2011

Я запутался здесь ...

Как вы делаете git commit для modified file и как вы делаете git commit для new file?

Кроме того, как вы по отдельности фиксируете файлы в git?

1 Ответ

5 голосов
/ 23 марта 2011

Процесс git committ состоит из двух частей. Сначала вы «ставите» отдельные файлы, а затем выполняете команду «commit», которая фактически добавляет «поэтапные» файлы в хранилище. Поэтому, если вы хотите «ставить» файлы, вы сначала будете использовать команду «git add»:

git add myfile1

Вы можете сделать это для любого количества файлов. Когда вы вызываете «git status», вы должны увидеть список поставленных файлов. Вы можете «добавлять» файлы, которые уже находятся в вашем хранилище, но имеют изменения, и вы также можете «добавлять» файлы, которых еще нет в вашем хранилище. Новые файлы будут появляться как новые в промежуточной области, а другие будут появляться как измененные, но когда вы наконец вызовете «git commit», вы будете фиксировать все, что находится в стадии подготовки. Опция "-a" для git commit означает автоматическую подготовку всех измененных файлов, а также их фиксацию (Примечание: сюда не входят файлы, которых еще нет в хранилище).

Вот пример:

У меня есть хранилище, где у меня есть два файла: file1.txt и file2.txt Когда я вызываю git status, я получаю следующее:

# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   file2.txt
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   file3.txt

Поэтому, если я хочу зафиксировать изменения как file2.txt, так и file3.txt, я могу сделать следующее:

git add file2.txt
git add file3.txt
git commit

Это подтвердит как новый файл, так и изменения, сделанные в file2.txt

Если бы я использовал git commit -a, то только изменения file2.txt были бы зафиксированы, а новый файл (file3.txt) был бы проигнорирован.

Таким образом, чтобы получить тот же эффект, я мог бы также сделать:

git add file3.txt
git commit -a

В этом случае мне не нужно добавлять измененный файл, потому что опция -a коммит позаботится об этом.

Примечание : Если вы вызываете git commit без каких-либо файлов "staged", ничего не произойдет.

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