我不想将单个文件myfile
中的所有更改暂存到索引。相反,我想在myfile
中选择大块的更改以暂存到索引。
git add --patch
似乎是我需要的命令和选项。请在下面查看我尝试使用的命令/选项。
100 % git status -s
M myfile
101 % git add --patch myfile
102 % git status -s
MM myfile
到目前为止一切顺利。
Command 100
输出带有前导空格的M
,表示myfile
的所有块都是未分级的。
Command 101
允许我使用y
选项来选择我要演出的帅哥,并使用n
选项不演出。
Command 102
在M
之前以前导空格输出另外的M
。我以为这表示我已暂存到Command 101
中的索引的那组块,其余的块均未暂存到该索引。
然后,我提交并感到惊讶,git
似乎提交了所有的请求,而不仅仅是我选择的请求。请参阅下面的命令。
103 % git commit
104 % git status -s
Nothing to stage
执行line 104
之后的上述输出使我感到惊讶。我希望执行line 104
之后的输出如下。
104 % git status -s
M myfile
为什么git
会提交文件中的所有更改,而不仅仅是提交给索引的杂项?