Я побежал следующие команды и запутался о выходе по git diff HEAH
, а также git diff
«Неправильный» выход по мерзавцу дифф ГОЛОВЕ и мерзавец дифф
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo
$ git init
Initialized empty Git repository in C:/Users/Athrun/Desktop/path/to/my/workspace /demo/.git/
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo (master)
$ echo "Hello World" > welcome.txt
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo (master)
$ git add welcome.txt
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo (master)
$ git commit -m "\"Hello World\" committed"
[master (root-commit) eb00b00] "Hello World" committed
1 file changed, 1 insertion(+)
create mode 100644 welcome.txt
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo (master)
$ git rm --cached welcome.txt
rm 'welcome.txt'
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo (master)
$ git diff HEAD
diff --git a/welcome.txt b/welcome.txt
deleted file mode 100644
index 557db03..0000000
--- a/welcome.txt
+++ /dev/null
@@ -1 +0,0 @@
-Hello World
[email protected] MINGW64 ~/Desktop/path/to/my/workspace/demo (master)
$ git diff
В принципе, я инициализирую репозиторий, создал файл со строкой «Hello World» и передал файл. Затем я выполнил команду git rm --cached welcome.txt
, чтобы удалить «файл» (не уверен, могу ли я назвать это «файл» здесь) в промежуточной области. Затем я выполнил две команды git diff HEAD
и git diff
, чтобы сравнить изменения с HEAD и промежуточной областью.
Здесь я понимаю, что рабочий каталог и HEAD имеют одну и ту же версию файла, `git diff HEAD 'должен ничего показывать, пока« git diff »должен показывать« Hello World ».
Однако выход просто противоположный.
@PetSerAI благодарит за ваш ответ, я не понимал, что git rm --cached разобрал файл. Это очень помогает. – user1888955