Я заметил, что, работая над одним или двумя билетами, если я отойду, я не уверен, над чем я работал, что изменилось и так далее.
Есть ли способ увидеть изменения, сделанные для данного файла перед git add и затем git commit?
Ты ищешь git diff
. В зависимости от вашей конкретной ситуации, есть три полезных способа его использования:
# show differences between index and working tree
# that is, changes you haven't staged to commit
git diff [filename]
# show differences between current commit and index
# that is, what you're about to commit
# --staged does exactly the same thing, use what you like
git diff --cached [filename]
# show differences between current commit and working tree
git diff HEAD [filename]
Он будет рекурсивно работать с каталогами, и если пути не указаны, он показывает все изменения.
[filename]
указывают на необязательный аргумент.) Когда*
вы позволяете оболочке перечислять все файлы, поэтому, если вы находитесь в подкаталоге, вы получите только вещи в этом подкаталоге (не весь репозиторий), и вы ' пропущу изменения в скрытых файлах.git add -p
это альтернатива для проверки всех файлов.git diff --staged [filename]
свой основной ответ, так как это чаще всего необходимо.Используйте
git-diff
:источник
git diff filename
источник
Для меня
git add -p
это самый полезный способ (и, как мне кажется, разработчики git?), Чтобы просмотреть все непостановленные изменения (он показывает разницу для каждого файла), выбрать хороший набор изменений, которые следует выполнить с коммитом, тогда, когда у вас есть Поместите все из них, затем используйтеgit commit
и повторите для следующего коммита. Затем вы можете сделать каждый коммит полезным или значимым набором изменений, даже если они произошли в разных файлах. Я бы также предложил создать новую ветку для каждого тикета или подобного действия и переключаться между ними, используяcheckout
(возможно, используя,git stash
если вы не хотите фиксировать перед переключением), хотя, если вы делаете много быстрых изменений, это может быть проблемой. Не забывайте часто сливаться.источник
git diff
источник
Помните, что вы вносите изменения , а не файлы.
По этой причине очень редко я не использую
git add -p
(или эквивалент magit) для добавления своих изменений.источник
путь может быть полным системным путем до файла или,
если вы находитесь в проекте, вы вставляете измененный путь файла также
для измененных файлов с использованием пути:
git status
источник
Ну, мой случай, когда вы не хотите заботиться о списке файлов. Просто покажи им все.
Когда вы уже запустили
git add
свой список файлов:В более поздних версиях
git
вы также можете использовать--staged
, что является синонимом--cached
.То же самое можно использовать для еще не добавленных файлов, но без
--cached
опции.Псевдоним команды Git для опции "cached":
источник
Перейдите к вашему git-репо и выполните команду ниже:
git diff имя файла
Откроется файл с помеченными изменениями, нажмите клавишу возврата / ввода, чтобы прокрутить файл вниз.
PS имя файла должно включать полный путь к файлу, иначе вы можете запустить без полного пути к файлу, перейдя в соответствующую директорию / папку файла
источник
Вы также можете использовать git-friendly текстовый редактор. Они показывают цвета на линиях, которые были изменены, другой цвет для добавленных линий, другой цвет для удаленных линий и т. Д.
Хороший текстовый редактор, который делает это - GitHub's Atom 1.0 .
источник