git常用命令(救命版)
git -h
获取帮助
命令解释
- HEAD 是指当前的快照
HEAD~1
指回退一个快照,可以简写为HEAD~
,HEAD~2
指回退两个快照
commit
- 添加并提交已修改的文件(仅已被
add
的文件)1
git commit -m 'message'
push
- 推送当前分支所有commit至远程
1
2
3
4默认提交到与当前分支同名称的远程分支,远程没有则自动创建
git push
提交到指定remote,指定分支
git push origin master
reset
撤销已提交的记录
HEAD~1,表示1
2
3
4还未 push
git reset --soft HEAD~1
已经 push,从远程分支上撤销,同时执行以下命令
git push origin <branch> --force已经 commit,从远程分支上撤销当前提交
1
git
rebase
合并多条 commit
git log 记录从上至下如 A > B > C > D
若要合并 A ~ C 的记录1
2
3
4查看历史记录,找到记录 C 的 id
git log
-i 开启交互模式
git rebase -i <D的 id>在 vim 编辑器中将 ABC 记录前的
pick
改为squash
或s
,保存退出
退出后会进入新的 vim 编辑器,在这里删除多余 message 或修改为需要的 message,保存退出
这时用git log
查看可以发现 ABC 的记录已经被合并了1
2
3
4这时用 `git log` 查看可以发现 ABC 的记录已经被合并了
git log
强制推送至指定分支
git push origin <branch> --force
其他操作
对于已push的文件,想从远程仓库删除且以后都不在提交
1
git rm --cached [<file>...]
对于已push的文件,想在以后不提交,但不从远程仓库删除
1
2
3
4git update-index --assume-unchanged [<file>...]
若是要忽略某个目录下所有文件,使用git bash,cd到目标目录下
git update-index --assume-unchanged $(git ls-files | tr '\n' ' ')对于已经add的文件
1
2还未commit
git restore --staged [file_path]
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小树苗!
评论