git add .
git add a.txt
git update-index --assume-unchanged FILENAME 路径+文件名
git update-index --no-assume-unchanged FILENAME
git checkout -- xbd.md
git rm a.txt
git commit -m "test"
git commit --amend -m "test2"
git rm --cached settings.gradle
git rm -r --cached gradle
git rebase --abort
git status
git log
git rebase -i
git rebase -i HEAD~2
合并最近两次,回车进入vim控制台修改- 第二行即最近一次提交的
pick
改为squash
压缩为最后一次提交,vim保存退出 - 弹出信息框可修改提交信息,保存退出
- 执行
git push -f
与远端仓库同步
git rev-list --all --count
git rev-list --count master
git rev-list --count dev --after="2022-4-27 0:0:0" --before="2022-5-31 0:0:0"
git log local...dev
git log dev..master
git checkout a.txt
git reset HEAD a.txt
git reset --hard 39952e15bce582b3
git checkout ecdb9973 test.txt
git reset --soft HEAD^
- 先用
git reflog
查看修改记录 - 找到想要退回的版本如:59d03f4 HEAD@{1}: reset: moving to HEAD^
- 再用
git reset --hard 59d03f4
强制回退到该版本
git stash list
git stash "暂存当前变动,revert到上次代码"
git stash pop stash@{0}
git pull
git branch
git branch dev
git checkout --orphan test
git branch -d dev
git checkout dev
git checkout -b dev(本地分支名) origin/dev(远端分支名)
合并master分支改动到dev分支
- 先从master分支切到dev,执行
git checkout dev
- 再合并master改动到dev,执行
git rebase master
或git merge master
git merge -Xignore-space-at-eol master(https://zhuanlan.zhihu.com/p/66152363)
git branch -r
git push origin dev
git push origin master:master
git clone -b dev ssh://git@xxx.xxx.cn/xxx/test.git
git reset –-hard dev // 将本地当前分支重置成本地dev分支
git tag
git tag version0
git tag -d version
git tag -a v0.1.2 -m “v0.1.2”
git push origin v0.1.2
git push [origin] --tags
git delete 0.1.1 git push origin :0.1.1
git whatchanged
git remote -v
git remote show origin
在git中,我们使用git config 命令用来配置git的配置文件,git配置级别主要有以下3类: 1、仓库级别 local 【优先级最高】 2、用户级别 global【优先级次之】 3、系统级别 system【优先级最低】
- 查看仓库配置:git config --local -l
- 查看用户配置:git config --global -l
- 查看系统配置:git config --system -l
- git config --global user.email
- git config --local user.name xbd
- git config --global http.sslVerify false
ssh -T git@github.com
refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要
git push origin HEAD:refs/for/dev(仓库名)
Angular 的 commit 规范:https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-guidelines
如下:
- build: 改变构建流程,新增依赖库、工具等(例如webpack修改)
- ci: 自动化流程配置修改
- docs: 修改文档
- feat: 新功能
- fix: 修复bug
- perf: 改善性能和体现的修改
- refactor: 代码重构
- style: 仅仅修改了空格、缩进等,不改变代码逻辑
- test: 测试用例的修改
例如:feat(*): add new function.
Arcanist基本使用教程: https://www.5288z.com/1469.html
SSH连接的时候Host key verification failed. https://www.cnblogs.com/guanbin-529/p/11693048.html