我正在学习GIT,给出的简单示例显示了将文件添加到临时区域,修改它们并再次添加的基本周期。有时,它们会显示文件在工作目录中的暂存区域和中标记为已修改的情况。我将它概念化的方式,我不能修改暂存区域中的文件,所以我很困惑他们是如何做到的。这就是我正在做的事情:
➜ touch one.txt
➜ git status -s
?? one.txt
➜ git add one.txt
➜ git status -s
A one.txt
➜ echo "test" > one.txt
➜ git status -s
AM one.txt
➜ echo "some modification" >> one.txt
➜ ~/Desktop/junky > git status -s
AM one.txt
那么,如何让文件在两个区域中显示为已修改? (即最后一行是MM one.txt)
答案 0 :(得分:1)
执行git add one.txt
时,您将one.txt
添加到临时区域,就像那时一样。
您之后所做的任何更改都会使git将您的文件标记为已修改,但不会影响该文件的暂存版本。
因此,您有一个A
版本的文件(暂存区域中的版本)和一个M
修改版本的文件(未上传的版本)。
要同时获得M
,您可以执行此操作
echo 'test' >> test.txt
git add test.txt
git commit -m "testing some stuff"
echo 'test2' >> test.txt
git add test.txt
echo 'test3' >> test.txt
完成此操作后,您将拥有
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test.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: test.txt
答案 1 :(得分:0)
我认为获取MM
的方法是提交文件,编辑文件,添加文件(登台)并再次编辑。
然后Git将显示M
而不是A
(它不再是新文件)加上第二个M
表示“这已在工作区中修改但尚未添加”