Иногда, когда я собираюсь совершить коммит, я не могу точно вспомнить, что изменилось с момента последнего коммита. Как я могу увидеть разницу текущего состояния кода и последнего коммита?
См. Разницу между текущим состоянием и последним фиксацией
Ответ 1
Если вы еще не добавили файлы в индекс (с git add
), просто сделайте
git diff
Это покажет разницу между вашим рабочим деревом и индексом.
Если вы добавили файлы в индекс, вам нужно сделать это, чтобы показать различия между индексом и последним фиксатором (HEAD).
git diff --cached
Наконец, если вы хотите увидеть изменения в рабочем дереве по сравнению с последним фиксатором (HEAD
), вы можете (как указывает Карлос) сделать
git diff HEAD
Эти изменения представляют собой комбинацию git diff
и git diff --cached
.
Ответ 2
Если вы только что совершили коммит или хотите увидеть, что изменилось в последнем фиксации по сравнению с текущим состоянием (при условии, что у вас есть чистое рабочее дерево), вы можете использовать:
git diff HEAD^
Это будет сравнивать HEAD с фиксацией сразу же. Можно также сделать
git diff HEAD^^
для сравнения с состоянием игры 2 заработки. Чтобы увидеть разницу между текущим состоянием и определенной фиксацией, просто выполните:
git diff b6af6qc
Где b6af6qc
- пример хэша commit.
Ответ 3
Вы запрашиваете git для разграничения текущей/последней фиксации с сокращением HEAD
.
Итак, git diff HEAD
будет сравнивать текущее состояние рабочей строки с текущей фиксацией.
Ответ 4
это также показывает разницу и какие файлы были изменены/изменены.
$ git Status
Отображает пути, которые имеют различия между индексным файлом и текущим фиксацией HEAD, пути, которые имеют различия между рабочим деревом и индексным файлом, и пути в рабочем дереве, которые не отслеживаются git (и не игнорируются по gitignore (5)). Первое - это то, что вы сделали бы, выполнив git commit; второй и третий - это то, что вы могли бы совершить, выполнив git add перед запуском git commit.
https://www.kernel.org/pub/software/scm/git/docs/git-status.html