我得到了一个项目文件,就像这样:跟踪更改
MyProject/
a.txt
b.txt
c.txt
我在目录初始化一个Git回购,但(愚蠢)没有添加所有文件到开始回购。相反,在我意识到需要更改它们之前,我将文件添加到回购中。
git add a.txt; git commit -m "Pristine A"
<awesome changes to a.txt>
git commit -am "Awesome Changes"
不幸的是,在我疯狂的编辑狂热中,我忘了为某些文件做这件事。 (阅读:几十文件在多个目录中,这将是很难用明确的路径找到)
<awesome changes to b.txt>
git status # Uh oh, new file b.txt
我可以在我真棒变化获得该项目的快照,这样的Git能告诉我哪自那时起文件发生了变化。但是,我不想丢失我已经添加的数十次提交(带有描述)。
如何获得“原始”快照,并让Git计算哪些文件与我的工作目录相比发生了变化,而不会丢失我现有的提交,也不会为那些已更改但已记录的文件获得误报在提交?
FWIW我原来的“正当理由”在一开始不添加整个目录,是因为有成千上万无关我的工作文件,目录是唯一可用的高延迟SMB,我认为那我知道哪些文件很重要。
这是全部在一个分支上吗? – vergenzt 2012-07-12 17:14:57
@vergenzt是的,所有在主分支。 – Phrogz 2012-07-12 17:19:43
此外,只是为了澄清,这是准确的:你目前的回购显示'b.txt'和'c.txt'已被创建在后来的提交中,但你希望它显示它们已被创建(作为初始提交中的原始副本),以下提交只是更改它们? **编辑:**没关系,我想我现在明白你的问题。 – vergenzt 2012-07-12 17:20:14