如何仅暂存Git仓库中部分已修改的文件?
嘿,我来帮你搞定这个问题!你遇到的情况其实挺常见的——仓库里有多个已修改文件,但只想暂存其中特定的几个,完全没问题,咱们用最直接精准的方法来操作:
核心命令:直接指定要暂存的文件名
你只需要在git add后面跟上你想要暂存的文件名称就行,就像这样:
git add MyClass.h MyClass.cpp
这个命令会仅把你指定的两个文件的修改加入暂存区,剩下的main.cpp会保持未暂存的状态,完全符合你的需求。
验证操作结果
执行完上面的命令后,你可以运行git status来确认状态:
Changes to be committed:
(use "git reset HEAD..." to unstage) modified: MyClass.h modified: MyClass.cppChanges not staged for commit:
(use "git add..." to update what will be committed)
(use "git checkout --..." to discard changes in working directory) modified: main.cpp
你会看到MyClass.h和MyClass.cpp已经出现在「Changes to be committed」区块下,而main.cpp依旧留在未暂存区域,这就说明操作成功了。
避坑提示:别用错命令
之前你提到看到的公认答案可能有误,大概率是有人误用了git add .或者git add *——这两个命令会暂存当前目录下所有未暂存的修改,显然不符合你只想暂存部分文件的需求。如果是需要暂存单个文件里的部分代码块,那可以用git add --patch <文件名>,但你的场景是要暂存整个文件,直接指定文件名是最简洁高效的方式。
内容的提问来源于stack exchange,提问作者user9614249




