gpt4 book ai didi

git commit 提交未暂存的 hunks

转载 作者:太空狗 更新时间:2023-10-29 14:25:41 30 4
gpt4 key购买 nike

我使用 git add -p 将我的代码更改拆分为多个提交。但是,之后执行 git commit 会提交所有 更改,包括未暂存的更改。我看了一些关于 SO 的问题,但没有发现任何明显的错误。你能帮我理解我做错了什么吗?以下是我尝试过的命令及其输出。

bash-3.2$ git diff test11.txt
diff --git a/test11.txt b/test11.txt
index f077274..e811cae 100644
--- a/test11.txt
+++ b/test11.txt
@@ -1,5 +1,5 @@
-Hello
-World
+hello
+world

-Blahblahblah
-blah
+blahblahblah
+Blah
bash-3.2$ git add -p test11.txt
diff --git a/test11.txt b/test11.txt
index f077274..e811cae 100644
--- a/test11.txt
+++ b/test11.txt
@@ -1,5 +1,5 @@
-Hello
-World
+hello
+world

-Blahblahblah
-blah
+blahblahblah
+Blah
Stage this hunk [y,n,q,a,d,/,s,e,?]? s
Split into 2 hunks.
@@ -1,3 +1,3 @@
-Hello
-World
+hello
+world

Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? y
@@ -3,3 +3,3 @@

-Blahblahblah
-blah
+blahblahblah
+Blah
Stage this hunk [y,n,q,a,d,/,K,g,e,?]? n

bash-3.2$ git status
# On branch test
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test11.txt
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: test11.txt
bash-3.2$ git commit test11.txt
[test 1b85189] Test12
1 files changed, 4 insertions(+), 4 deletions(-)
bash-3.2$ git status
# On branch test
nothing added to commit

最佳答案

不要在 git commit 中指定文件名命令。

默认情况下,git commit在没有其他参数的情况下提交索引的内容(无论您通过 git add 准备什么)。

但是,如果您指定一个文件名(例如 git commit <filename>),那么 Git 实际上会完全绕过索引并提交指定文件在工作目录中的当前状态。


基本上,要么使用 git add git commit指定文件名,但不要两者都做。

关于git commit 提交未暂存的 hunks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12444796/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com