刚刚完成commit,但发现有一个文件忘了加上,又不想为了这个文件重新commit,这时我们可以追加文件到最近一次的commit。
我们这里有一个名为Cinderella.html的文件,想把它加到最近的一次commit,先git add,然后使用下述命令。
git commit --amend --no-edit
如果是创建了一个空目录,再看一下状态,Git的状态没有发生改变
,这是因为Git在计算产生对象的时候,是根据“文件内容进行计算的”。所以只是新增一个空目录,Git是无法处理的。
空的目录是无法提交的,这时候怎么办呢,很简单,只要在空目录中随便放一个文件就好了。
如果不小心删除了文件,rm *.html,我们看一下当前的状态
当前这三个文件此时的状态是被删除的状态,只是把工作区的文件删除了。这时要抢救一个文件,使用git checkout命令
git checkout cinderall.html
当使用git checkout命令的时候,Git会切换到指定的分支,但路径后面接的是文件名或者路径,Git不会切换切换分支,而是把文件从.git目录复制一份到当前的工作目录。
如果commit后悔了,也可以拆掉重做。
查看当前的git记录
如果想拆掉最后一次的commit,我们相用相对的做法试试
git reset dfbf00c^
符合^代表的是前一次,
dfbf00c^是指这一次提交的前一次,dfb00c ^ ^则是代表前两次
通常也可以写成
git reset HEAD^
git reset命令可以搭配参数使用
–mix参数是默认的参数,如果没有参数,git reset命令将使用–mixed模式。该模式会把暂存区的文件删除,但不会影响工作目录的文件