注意 如果直接复制命令到命令行可能出现未知问题建议手敲。
撤销操作
任何时候,你都有可能需要撤销刚才所做的某些操作。
本篇将介绍一些简单的撤销相关的命令。更多撤销相关的操作会在后续章节进行讲解。
请注意,有些撤销操作是不可逆的,请务必小心,一旦失误就有可能丢失部分工作成果。
修改最后一次提交
git commit --amend
该命令可以从新编辑最后一次的提交信息。直接输入该命令会启动文本编辑器,可以看到上次的提交说明,进行编辑,确认没问题后保存退出,这样提交说明就被修改了。
这个命令还可以用来解决某些应该一次提交的内容没有一起提交的情况。
git add a.php
git commit -m '提交修改文件'
// 这时候你发现 b.php 也应该一起提交,我们可以这样做
git add b.php
git commit --amend
经过上面的操作就把遗忘的 b 文件和 a 文件一起提交了,上面的操作只会产生一个提交。
这里并不会讲如何修改已经提交的文件。这个内容将会在后续章节内进行详细讲解。
取消已经暂存的文件
git reset HEAD <file_dir>
该命令可以将已经暂存的文件移出暂存区域。
该命令完全不需要记住,git 已经给出了完整提示。
输入 git status 查看文件状态,已暂存未提交的文件会出现如下提示。
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: app/Http/Controllers/Test/IndexController.php
在 Changes to be committed: 下面的的命令就用来移出暂存的命令。
取消对文件的修改
git checkout -- <file_dir>
该命令极度危险,请谨慎使用。
该命令可以将修改的文件恢复到之前的版本(抛弃所有改变)。
同样 git 也对该命令进行了提示
输入 git status 查看文件状态,未暂存的文件会出现如下提示。
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: app/Http/Controllers/Test/IndexController.php
在 Changes not staged for commit: 下,第一个命令是用来将文件加入暂存,第二个命令就是用来取消文件修改。
网友评论