记录了一些工作中实际会用到的常用命令
git commit规范
参见https://www.ruanyifeng.com/blog/2016/01/commit_message_change_log.html
安装Commitizen
1 | #先要安装npm |
配置Angular规范
1 | commitizen init cz-conventional-changelog --save --save-exact |
以后,凡是用到git commit命令,一律改成git cz。
.gitignore规范
1 |
|
git add -u | -A | . 的区别
参考自https://blog.csdn.net/return_cc/article/details/78405176
git add .会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件,因为被删除的文件已经在工作区不可见git add -u他仅监控tracked file,他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file),但是可以感知被删除的tracked file。git add -A是上面两种功能的集合。
举例:
1 | git init |
git删除tracked file
https://www.cnblogs.com/zhangmingyan/articles/12099108.html
git rm --cached file
不删除物理文件,仅将该文件从缓存中删除,可以看作是git add的反向操作
lfs管理大文件
查找大小大于1M的文件后缀
1 | git lfs migrate info --above="1 MB" --everything --top 10 |
追踪指定后缀的文件
1 | git lfs migrate import --include="*.jar,*.pdf" --everything |
确认被track的对象
1 | git lfs ls-files |
push全部到远程
1 | git push origin -f --all && git push origin -f --tags |
git push
1 | git push <远程主机名> <本地分支名>:<远程分支名> |
这里的冒号前后没有空格
如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
1 | git push origin master |
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
git push -u origin master
1 | git push -u origin master |
git reset --hard
强制恢复到上一次commit的状态
git clone -b git_url
指定分支进行git clone
git checkout source_branch
...
从其他分支merge个别文件
https://blog.csdn.net/SJZYLC/article/details/49591211
1 | git checkout remotes/origin/mpi_meeting inference_basler.py |
git checkout -b
git pull只会拉取远程仓库的master分支,要想在其他分支上进行同步,需要先
1 | git branch -a |
查看所有分支的分支名字,包括目标远程分支
1 | git checkout -b <branch_name> <remote_branch_name> |
再运行上述操作就可以创建一个本地分支(建议和远程分支名字保持一致),同时指定其跟踪对应的远程分支
遇到bug该怎么办
- 创建临时分支bugFix
- 在bugFix里面添加调试语句
- 修复bug
- 删除调试语句
- merge到原来的分支
git commit --amend -m "xxx"
https://zhuanlan.zhihu.com/p/340007149
修改commit提交信息
1 | git commit --amend |
本地分支跟踪远程分支
查看分支跟踪情况
1 | git branch -vv |
输出为
1 | * basler_mpi_inf b725b14 [origin/basler_mpi_inf] feature: new fps calculation |
将branch-name分支追踪远程分支origin/branch-name
1 | git branch --set-upstream branch-name origin/branch-name |
设置当前分支追踪远程分支origin/serverfix
1 | git branch -u origin/serverfix |