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

Я заметил, что, работая над одним или двумя билетами, если я уйду, я не уверен, над чем я работал, что изменилось и т.д.

Есть ли способ увидеть изменения, сделанные для данного файла до git add, а затем git commit?

Ответ 1

Вы ищете 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]

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

Ответ 2

Используйте git-diff:

git diff yourfile

Ответ 3

Для меня git add -p - самый полезный способ (и я думал, что разработчики git?), чтобы просмотреть все неустановленные изменения (он показывает diff для каждого файла), выберите хороший набор изменений, которые должны идти с фиксацией, затем, когда вы поставили все из них, затем используйте git commit и повторите для следующего фиксации. Затем вы можете сделать каждую фиксацию полезным или значимым набором изменений, даже если они произошли в разных файлах. Я также предлагаю создать новую ветку для каждого билета или аналогичного действия и переключаться между ними с помощью checkout (возможно, используя git stash, если вы не хотите комментировать до переключения), хотя, если вы делаете много быстрых изменений, это может быть болью. Не забывайте часто сливаться.

Ответ 4

git diff filename

Ответ 5

git diff

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

Ответ 6

Помните, что вы совершаете изменения, а не файлы.

По этой причине очень редко я не использую git add -p (или эквивалент магита) для добавления моих изменений.

Ответ 7

git diff <path>/filename

путь может быть полным системным путем до файла или если вы находитесь в проекте, вы вставляете измененный путь файла также
для измененных файлов с использованием пути: git status

Ответ 8

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

Когда вы уже запустили git add со списком файлов:

$ git diff --cached $(git diff --cached --name-only)

В более поздних версиях git вы также можете использовать --staged, который является синонимом --cached.

То же самое можно использовать для еще не добавленных файлов, но без --cached.

$ git diff $(git diff --name-only)

Псевдоним команды Git для опции "cached":

$ git config --global alias.diff-cached '!git diff --cached $(git diff --cached --name-only)'

Ответ 9

Вы также можете использовать текстовый редактор git. Они показывают цвета на линиях, которые были изменены, другой цвет для добавленных линий, другой цвет для удаленных линий и т.д.

Хороший текстовый редактор, который делает это GitHub Atom 1.0.

Ответ 10

Перейдите к соответствующему git-репо, затем выполните команду ниже:

git diff filename

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

Имя файла PS должно содержать полный путь к файлу, иначе вы можете запускать без полного пути к файлу, перейдя в соответствующий каталог/папку файла