分享git常用操作技巧。
Git(2) -- 操作技巧
1、文件重命名
// 演示将CommonConst.java 重命名为 CommonConstant.java
wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study (master)
$ cd src/main/java/com/rrc/constant/
wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study/src/main/java/com/rrc/constant (master)
$ git mv CommonConst.java CommonConstant.java
wang@LAPTOP-4HQAPUSB MINGW64 /d/IdeaProjects/spring-boot-study/src/main/java/com/rrc/constant (master)
$ git status
On branch master
Your branch and 'origin/master' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" to merge the remote branch into yours)
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: CommonConst.java -> CommonConstant.java
2、git reset –hard HEAD^后显示more
D:\IdeaProjects\spring-boot-study>git reset --HEAD^
More?
More?
error: unknown option `HEAD
我们可以选择直接打开一个cmd窗口,在里边输入一个^,发现也弹出了More。通过下边的dir命令大概大家已经发现了^符号的含义—用来连接两端命令的。每当^符号出现的时候,系统会认为后面还会有命令,所以会提示两次more? 来询问用户输入下一步的命令。
另外,在cmd环境中^也以转义字符的身份出现。^符号也会用在一些特定字符前面用来输出,例如您想让命令输出>号,输出的命令必须为Echo ^>
C:\Users\wang\Pictures>^
More?
More?
C:\Users\wang\Pictures>di^
More? r
驱动器 C 中的卷是 Windows
卷的序列号是 0265-6A69
C:\Users\wang\Pictures 的目录
2021/04/17 10:13 <DIR> .
2021/04/17 10:13 <DIR> ..
2020/06/21 18:46 <DIR> Camera Roll
2021/01/14 16:18 <DIR> Feedback
2020/06/21 18:46 <DIR> Saved Pictures
0 个文件 0 字节
5 个目录 21,613,289,472 可用字节
C:\Users\wang\Pictures>dir
驱动器 C 中的卷是 Windows
卷的序列号是 0265-6A69
C:\Users\wang\Pictures 的目录
2021/04/17 10:13 <DIR> .
2021/04/17 10:13 <DIR> ..
2020/06/21 18:46 <DIR> Camera Roll
2021/01/14 16:18 <DIR> Feedback
2020/06/21 18:46 <DIR> Saved Pictures
0 个文件 0 字节
5 个目录 21,613,158,400 可用字节
^作为转义字符的作用
C:\Users\wang\Pictures>echo >
命令语法不正确。
C:\Users\wang\Pictures>echo ^>
>
所以对应于我们标题的问题,我们可以有两种写法
- 加引号:git reset –hard “HEAD^”
- 加一个转义^:git reset –hard HEAD^^
当然对于git reset命令,我们可以使用git reset --hard HEAD~
或者 git reset --hard HEAD~1
来代替HEAD^
3、删除文件