(Использование Git 2.7.2) Если после работы дня были обновлены несколько отслеживаемых файлов, которые я хочу зафиксировать, подходящей командой для постановки будет git add -u
. Правильно? Но есть ли какие-либо последствия обычного использования git add .
вместо этого, чтобы покрыть возможность того, что я, возможно, добавил новый файл и не хочу забывать его отслеживать? Есть ли недостаток в том, чтобы всегда делать git add .
? Я буду раздувать размер репо или «загрязнять базу данных» и т. Д.?последствия выполнения git add. когда git add -u будет достаточно?
ответ
git add .
будет искать в текущем каталоге и подкаталогах файлы, которые можно добавить, и затем их добавить.
git add -u
(без спецификации пути) будет, начиная с версии git версии 2.0, расчесывать индекс, чтобы найти файлы для добавления, в который входят каталоги выше .
, если вы находитесь в подкаталоге с вашим репозиторием. (В Git версии 2.0, предшествующих, git add -u
имеет подразумеваемое .
в конце, так что он делает не смотреть на каталогах выше .
.)
Вы уже отметили, что git add .
добавит новые файлы, которые git add -u
не будет. Тот факт, что .
начинается с текущего каталога (который может и не быть верхнего уровня), является единственной реальной реальностью. (Если у вас очень большое дерево работы, вы можете увидеть некоторые различия в соотношении CPU/time/disk-activity также из-за различных стратегий поиска.)
Заметим, что то, что входит в репозиторий на следующем git commit
по содержимому индекса (промежуточной области), и вы можете проверить это в любое время (например, git status
или git ls-files
). В большинстве случаев вам не нужно беспокоиться о раздувании репозитория. (В одном случае вы увидите временное раздувание, если git add .
добавляет огромный файл, например, гигантский бинарный файл или базу данных или что-то еще, что вы затем git rm --cached
и добавьте в файл .gitignore
. Это потому, что это шаг git add
, который фактически записывает основные BLOB-объект в репозиторий. Однако, если blob не отображается, как это будет после git rm --cached
, он будет уходить на следующий сбор мусора, который происходит после gc.pruneExpire
времени, который в этом случае по умолчанию составляет 14 дней.)
- 1. git add * (звездочка) против git add. (период)
- 2. `git add -u` на JetBrains IDE
- 3. Получить предварительный просмотр «git add -u»?
- 4. git hangout, когда я запускаю git add.
- 5. Когда следует использовать git add?
- 6. Где я могу найти информацию об изменении от git add -u до git add --update: /?
- 7. Git bundle add remote
- 8. Разница между $ git add --all vs $ git add *?
- 9. Ошибка GIT - git-add (Bad File Number)
- 10. Любая разница между git add. и git add -all?
- 11. В чем разница между git add. и git add -A?
- 12. Невозможно выполнить "git add."
- 13. git submodule add не будет добавлять репозиторий
- 14. git add/rm (совершение)
- 15. git add remote branch
- 16. git add subodule remote
- 17. Undo git add --all
- 18. Команда «git add -A»
- 19. GIT add production server
- 20. Есть git add.; git commit - эквивалент git add -A.; git commit -a?
- 21. git add → git commit. Это правильно?
- 22. git add не добавляет файлы?
- 23. GIT remote add: Deleted Project
- 24. git add - all in Git 2.3.5
- 25. Эй, git, что я просто «git add»?
- 26. Git remote add error, когда имя репозитория имеет суффикс «.git»
- 27. «git add» необходимо, когда trustExitCode = true?
- 28. git add -A vs git добавить файл
- 29. Несколько «git add» перед «git commit»
- 30. Начальная установка Git и git add issue