持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第19天,点击查看活动详情
1.查看工作区当前的状态
$ git status
删除了temp.html,但是存在暂存区,需要额外使用 git add temp.html
$ rm temp.html
2.删除temp.html,并且状态存在了暂存区
$ git rm temp.html
3.磁盘上仍然存在temp.html,但是通过git status会看到temp.html变成了一个untracked file
$ git rm --cached temp.html
4.重命名a.html为b.html
$ git mv a.html b.html
5.修改最后一次提交的commit记录信息,sourcetree中对应于“文件”中的“修改最后一次提交”的选项
$ git commit --amend -m '修订提交信息'
6.追加文件到最后一次的commit
git commit --amend --no-edit
7.添加.gitignore中忽略的文件
$ git add -f 文件名称
8.某个文件的某一行代码是谁写的
$ git blame index.html
9.当使用git checkout 命令时,Git会切换指定的分支,但如果和面接的是文件名或路径,Git不会切换分支,而是把文件从 .git 目录中复制一份到当前的工作目录
$ git checkout
10.用距离现在两个版本以上的文件覆盖当前工作目录中的文件,同时更新暂存区中的状态
$ git checkout HEAD~2
11.下面三个命令中的^代表的是”HEAD“,”master“,指定提交版本的”前一次“
git reset HEAD^ git reset master^ $ git reset <commit版本号>^
12.结合git reset 找回被强制reset的内容
$ git reflog
13.计算blob对象的SHA-1值
$ git hash-object --stdin
14.查看git对象的信息 blob tree commit tag
$ git cat-file
15.查看当前文件在Git中的样子
$ git ls-files -s
16.git的回收机制
$ git gc
17.查看git回收中的打包情况
$ git verify-pack -v ./git/objects/pack/pack-......idx
18.输出当前项目的分支
$ git branch
19.增加分支
$ git branch 分支名称
20.更改分支名称
$ git branch -m name newName
21.删除分支
$ git branch -d name
22.如果要删除的分支没有被完全合并,强制删除
$ git branch -D name
23.切换分支,如果没有分支的情况下,直接创建
$ git branch -b name
24.落后的Commit的分支,在merge合并之后,就能处在同一个Commit上了
$ git merge 分支名称
25.不要快转模式
$ git merge name --no-ff
26.变基,rebase可以用来合并,但是它会改变原有的历史commit的顺序,如果不熟悉的情况下慎用
$ git rebase
27.ORIG_HEAD会记录“危险操作”之前HEAD的位置,分支合并、reset都算是“危险操作”
$ git reset ORIG_HEAD --hard
28.在rebase过程中如果出现冲突的情况下,解决冲突后使用如下命令继续执行rebase
$ git rebase --continue
29.修改历史信息互动模式,互动模式,就是在按照说明输入命令的情况下,会弹出vim编辑器,输入对应内容后保存退出
$ git rebase -i bc5a036
30.解决冲突文件,无法像文本一样合并解决冲突,使用如下方式来决定选择哪一个版本
git checkout --theirs <文件>