前言
git的一些常见命令操作整理
1、下载
depth用于指定克隆深度,为1即表示只克隆最近一次commit,可以减少下载的容量
1
|
git cone --depth=1 {http://xxx/url}
|
2、撤销commit
默认撤销,不撤销本地代码,撤销commit,并且撤销git add
1
|
git reset --mixed HEAD^
|
不删除工作空间改动代码,撤销commit,不撤销git add
删除工作空间改动代码,撤销commit,撤销git add
3、修改commit注释
进入 vim 模式
4、撤销modify
1
|
git checkout {filePath/fileName}
|
5、撤销push
1
2
3
4
|
# 查看log清单拿到需要回退的commitId
git log
git reset --soft {bc07480025bca168e2136064d795f2bb56eab999}
git push origin {master} --force
|
6、新增文件
1
2
3
4
|
# 全部新增
git add .
# 单个文件新增
git add {filePath/fileName}
|
7、删除已经add的文件
1
|
git rm {filePath/fileName}
|
8、修改历史commit的log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# 1、修改倒数第1次的commit
git rebase -i HEAD~{1}
# 2、修改pick为edit,vim界面操作
# 2.1、回车后进入一个页面,
# 2.2、按i进入编辑模式,
# 2.3、将要修改的那一条的pick修改成edit,
# 2.4、按esc退出编辑模式,输入:wq保存并退出
# 3、修改commit注释内容
$ git commit --amend
# 按i进入编辑模式,修改内容,退出编辑模式,输入:wq保存并退出
# 4、合并
$ git rebase --continue
# 5、强制push
$ git push --force origin {master}
|
rebase工具的参数含义:
参数 |
含义 |
pick |
保留该commit(缩写:p) |
reword |
保留该commit,但我需要修改该commit的注释(缩写:r) |
edit |
保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e) |
squash |
将该commit和前一个commit合并(缩写:s) |
fixup |
将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f) |
exec |
执行shell命令(缩写:x) |
drop |
我要丢弃该commit(缩写:d) |
9、状态
10、差异
1
|
git diff {commitId1} {commitId2}
|