VIM如何退出
当对文件编辑完成,需要退出vi回到shell时,可以使用如下方法:
- 命令模式下连按两次大写字母Z,若文件被修改过则vi会保存并退出,反之直接退出
- 在末行模式下,可以输入如下命令选择操作:
- :w 保存当前编辑文件,并等待用户继续输入
- :w newfile 把当前编辑后的文件内容保存到指定的newfile中,原有文件保持不变
- :q 退出vi返回shell
- :q! 放弃修改返回shell
- :wq 保存文件后返回shell
- :x 同命令模式ZZ功能一致
- :u 撤销上一次编辑
工作区文件还原
1.修改的文件没有加入暂存区,执行:
git checkout .
git clean -xdf
2.修改的文件已经加入暂存区,执行:
git reset --hard
git clean -xdf
单个文件回归
单个文件回归到指定历史版本,需先查看文件修改记录: git log Main.java
然后指定回归版本的commit id: git reset a4e215234a Main.java
Git Stash
git stash提供了工作现场储存功能,比如当本地代码和远程库冲突时,可以先将本地工作现场储存起来,获取远程库最新代码后再解决冲突。
- 查看所有存储的工作现场: git stash list
- 恢复最近一次的工作现场并删除: git stash pop
- 指定应用某次工作现场,此方式不会删除工作现场: git stash apply stash@{1}
- 删除某次工作现场: git stash drop stash@{1}
- 清除所有工作现场: git stash clear
远程库操作
- 查看当前远程库: git remote
- 查看当前远程库详细信息: git remote -v
- 用别名添加远程库:
git remote add origin http://www.github.com/a.git
- 删除远程库: git remote rm nickname
- 重定向本地仓库指向的远程库:
git remote set-url origin(别名) http://www.gitlab.com/a.git(新的仓库地址)
回滚提交
push失败后需要回滚上一次提交,该命令执行后修改文件回到add阶段:
git reset --soft HEAD^
如果软回滚处理不了,用硬回滚还原最初的版本:
git reset --hard origin/dev