git:撤回某个commit的文件修改

244 阅读2分钟

不管你有多少commits,最终的changes记录了你截止一共和master分支的变化有哪些文件的哪些代码。

1.png

比如目前changes有三个,其中两个文件是自己的工作需要提交的,然后第三个是本地调试配置文件,这个相对master分支是有修改的,比如误传了它,现在要merge,因为有一点点不同(比如仅仅是注释部分)可能在merge时会产生冲突,解决很麻烦,所以现在要撤销它。

  1. 先找找时哪次提交的这个对这个文件push,定位到某个git commit记录;

2.png 2. git log,找到以上定位的commit名字,然后拿到对应的commit编号,一串字符; 3. git reset 3b2723f6f3xxxx3eb33e5066 vue.config.js撤销这次commit的对这个文件的修改 4. 然后再git push -u origin +lzh(+代表强制push) 5. 最后来到changes发现不改有的文件提交没有了。
好了,可以安心merge ## 命令行

Git 有多种使用方式。 你可以使用原生的命令行模式,也可以使用 GUI 模式,这些 GUI 软件也能提供多种功能。 在本书中,我们将使用命令行模式。 这是因为首先,只有在命令行模式下你才能执行 Git 的 所有 命令,而大多数的 GUI 软件只实现了 Git 所有功能的一个子集以降低操作难度。 如果你学会了在命令行下如何操作,那么你在操作 GUI 软件时应该也不会遇到什么困难,但是,反之则不成立。 此外,由于每个人的想法与侧重点不同,不同的人常常会安装不同的 GUI 软件,但 所有 人一定会有命令行工具。

假如你是 macOS 用户,我们希望你懂得如何使用终端(Terminal);假如你是 Windows 用户,我们希望你懂得如何使用命令窗口(Command Prompt)或 PowerShell。 如果你尚未掌握以上技能,我们建议你先停下来快速学习一下,本书中的讲述和举例将用到这些技能