常用
git 与上游 保持同步
1 2 3
| git remote add src-zephyr <https://github.com/zephyrproject-rtos/zephyr> git pull src-zephyr master git push
|
git 合并分支
1 2 3
| git revert git pull --rebase origin git pull --rebase origin release-v1.0
|
如果有冲突:
1 2 3
| git status git add git rebase --continue
|
免密操作
方法一
进入用户主目录:
建立文件 .git-credentials:
编辑文件 .git-credentials:
添加规则:
1
| <https://username:password@gitlab.com>
|
执行命令
1
| $ git config --global credential.helper store
|
方法二
1 2
| $ git config --global credential.helper store $ git pull /git push
|
第一次需要输入用户名密码,以后就不用了(本质上同上,会在用户目录下创建。git-credential 文件并将用户信息写入该文件)
git 撤销修改
1 2
| git checkout [file] git checkout .
|
git 撤销 add
1 2
| git reset [file] git reset
|
git 撤销 commit
1 2 3 4
| git reset --soft HEAD^ git reset --mixed HEAD^ git reset HEAD^ git reset --hard HEAD^
|
合并多条 commit
关于 ssh-key
创建 key
1
| $ ssh-keygen -t rsa -C "something"
|
-t 指定密钥类型,默认是 rsa -C 设置注释文字,比如邮箱
该命令会生成两个秘钥文件将 id_rsa.pub 文件内容复制到 github 或 gitlab 就可以通过 ssh 传输文件 对于 http 协议传输需要修改。git 目录下 config 文件格式为
1
| <http://username:password@github.com>
|
git 不能 clone 代码,证书问题
1 2
| $ git config --global http.sslverify true $ git config --global http.sslCAPath /etc/pki/tls/certs
|
其他
Git 标签: 一个轻量标签很像一个不会改变的分支 - 它只是一个特定提交的引用。 附注标签是存储在 Git 数据库中的一个完整对象。它们是可以被校验的;其中包含打标签者的名字、电子邮件地址、日期时间;还有一个标签信息。
创建标签: 附注标签
1
| git tag -a v1.4 -m 'my version 1.4'
|
轻量标签:
后期打标签:
1
| git tag -a v1.29fceb02 (29fceb02 是一次提交的校验)
|
共享标签 将标签提交到远程服务器:
一次性推送很多标签:
Git 别名 通过 git config 文件来轻松地为每一个命令设置一个别名。例如:
1
| git config --global alias.ci commit
|
这意味着,当要输入 git commit 时,只需要输入 git ci。
查询是否使用代理:
1
| git config --global http.proxy
|
取消代理:
1
| git config --global --unset http.proxy
|
使用代理
1 2
| git config --global http.proxy 'socks5://127.0.0.1:7891' git config --global https.proxy 'socks5://127.0.0.1:7891'
|
git 提交规范
1 2 3 4 5 6 7 8 9 10 11 12
| feat: 新功能(feature) fix: 修补 bug docs: 文档(documentation) style: 格式(不影响代码运行的变动) refactor: 重构(即不是新增功能,也不是修改 bug 的代码变动) chore: 构建过程或辅助工具的变动 revert: 撤销,版本回退 perf: 性能优化 test:测试 improvement: 改进 build: 打包 ci: 持续集成
|