赞
踩
git checkout [文件名]
操作 | 说明 |
---|---|
git checkout [文件名] | 撤销对该文件的修改,如果该文件已经通过git add 添加到暂存区,则git checkout [文件名] 则恢复暂存区的内容,要撤销到和当前版本一致,再次执行git checkout [文件名] 则恢复当前git版本内容,如果没有使用git add 添加到暂存区,git chekcout [文件名] 则恢复至和当前版本内容一致 |
git checkout . | 对当前目录下所有的git 托管文件执行修改回滚操作 |
git checkout * | 对git托管目录下所有的git 托管文件执行修改回滚操作 |
**git reset 主要是通过改变git HEAD 指向不同版本实现回滚操作。
git reset 有三种模式 :
git reset --mixed 默认模式。不加任何参数时会使用该模式。会清空暂存区(即git add 的内容会被清空)
,保留当前本地(工作区)的修改
git reset --soft 保留本地(工作区)和暂存区的修改
git reset --hard 本地(工作区)和暂存区的修改均不保留,完全回滚至指定版本**
操作 | 说明 |
---|---|
git reset HEAD^ | 回滚到上一个版本,HEAD 上有多少个^就回退多少个版本,最多回退到最初版本 |
git reset HEAD~2 | ~2代表回滚多少个版本,数字代表回滚的记录数量 |
git reset [提交id] | 回滚到指定的提交版本,提交id可通过git log 查看 |
git reset [文件名] HEAD^ | 回滚指定文件到指定版本,只能使用默认模式,保留工作区修改,回滚版本的文件会添加到暂存区 |
注意:如果想将通过git reset 回滚的版本推送到远程仓库,使用git push 会提示远程仓库版本超前于当前仓库版本,使用git push -f oring mater:master 命令强制将本地仓库推送至远程仓库。Gitblit 使用超级管理员角色的账户才可以使用git push -f 强制推送。
git revert 会撤销一个版本的操作,该版本之前或则之后的操作会被保留,撤销该版本操作后生成一个新的版本。对于文件来讲,如果该提交之后的或之前版本新增的文件均会保留,但是该版本新增的文件则会被删除。对于文件内容来讲,会撤销该版本文件内容的修改,撤销到该版本的先前一个版本内容,如果在该版本之后继续有修改该文件,则使用revert的时候则会提示合并冲突。
操作 | 说明 |
---|---|
git revert HEAD^ | 撤销上一个版本提交 |
git revert HEAD~2 | ~2代表撤销上上个版本,数字代表撤销版本的倒数几个版本 |
git revert [提交id] | 撤销当前提交版本的操作 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。