git的使用之撤销操作命令
回退版本
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
git reset -head 版本号(git log可以查看) git push -f (强制提交)
撤消操作
有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令尝试重新提交:
$ git commit --amend
这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令),那么快照会保持不变,而你所修改的只是提交信息。
文本编辑器启动后,可以看到之前的提交信息。 编辑后保存会覆盖原来的提交信息。
例如,你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:
$ git commit -m 'initial commit' $ git add forgotten_file $ git commit --amend
最终你只会有一个提交——第二次提交将代替第一次提交的结果。
取消暂存的文件
你已经修改了两个文件并且想要将它们作为两次独立的修改提交,但是却意外地输入了 git add * 暂存了它们两个。 如何只取消暂存两个中的一个呢? git status 命令提示了你:
$ git add * $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: README.md -> README modified: CONTRIBUTING.md
在 “Changes to be committed” 文字正下方,提示使用 git reset HEAD … 来取消暂存。 所以,我们可以这样来取消暂存 CONTRIBUTING.md 文件:
$ git reset HEAD CONTRIBUTING.md Unstaged changes after reset: M CONTRIBUTING.md $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: README.md -> README 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: CONTRIBUTING.md
撤消对文件的修改
如果你并不想保留对 CONTRIBUTING.md 文件的修改怎么办? 你该如何方便地撤消修改——将它还原成上次提交时的样子(或者刚克隆完的样子,或者刚把它放入工作目录时的样子)? 幸运的是,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: CONTRIBUTING.md
它非常清楚地告诉了你如何撤消之前所做的修改。 让我们来按照提示执行:
$ git checkout -- CONTRIBUTING.md $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) renamed: README.md -> README
多分支获取本次提交的代码
git cherry-pick 提交代码分支的提交码
文件覆盖git checkout 分支名 文件地址
- 点赞
- 收藏
- 分享
- 文章举报
- git config命令使用第二篇——section操作,多个key值操作,使用正则
- Git使用方法及操作命令
- git 使用小技巧之撤销提交操作与恢复更改前操作
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git分支(branch)操作相关命令及分支命令的使用
- [置顶] 必须要会的Git基本使用及常用命令操作
- Unity中使用命令模式,实现撤销、回放的操作(一)
- 使用git命令对远程仓库执行删除或添加操作
- Git进阶命令(一)(撤销删除操作)
- 第一次使用git,撤销git add操作 (undo git add before commit)
- git config命令使用第二篇——section操作,多个key值操作,使用正则
- git config命令使用第一篇——介绍,基本操作,增删改查
- Git命令的使用_操作远程仓库——详细教程3
- git config命令使用第一篇——介绍,基本操作,增删改查
- Unity中使用命令模式,实现撤销、回放的操作
- Git的使用——安装/添加/删除/历史记录/命令记录的操作
- git使用手册(二)基本命令操作
- Git的使用以及shell的常用操作命令
- git config命令使用第二篇——section操作,多个key值操作,使用正则
- git的基本使用命令操作