自用Git手册
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了自用Git手册,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3680字,纯文字阅读大概需要6分钟。
内容图文
前言
本文主要记录一些工具命令,以及平时可能不常用但是比较重要的概念及命令。具体的理解自然是在头脑中最好,建议阅读的朋友可以看一看参考链接中的文章,我觉得都很不错,也参考了其中不少见解,反正目前我碰到git的问题基本都能解决。
基本配置
# 全局配置
git config --global user.name '94yk'
git config --global user.email 'xxx@163.com'
# 常用别名
git config --global alias.co checkout
git config --global alias.cm 'commit -m'
git config --global alias.ad 'add -A'
git config --global alias.br branch
git config --global alias.st status
git config --global alias.re reset
git config --global alias.pl pull
git config --global alias.ps push
git config --global alias.cp cherry-pick
git config --global alias.su '--set-upstream'
# 这个美化比较实用, 可惜工作两年才知道这个玩意
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
# 查看配置
git config --list
建仓三步
git init
git remote add origin git_url
git push -u origin branch_name
分支
# 查看分支(本地,远程,全部)
git brach [-r]/[-a]
# 合并分支(把xxx分支合并到当前分支)
git merge br_name
# 创建分支/切换分支/创建并切换
git brach br_name / git checkout br_name / git checkout -b br_name
# 删除分支/删除远程分支
git branch -d br_name / git push origin --delete br_name `or`
git branch -D br_name (对未合并的分支强制删除)
git push origin :rbr_name # 利用下面的推送一个空分支删除远程分支
# 推送本地分支至远程(远程分支可以指定已存在,也可以新建)
git push origin lbr_name(本地):rbr_name(远程)
# 选择一个commit,合并进当前分支
git cherry-pick cm_id
查看信息
# 一般的查看日志用上方的全局配置git lg就够了,
# 下面的命令是根据关键字模糊查询到匹配的commit, 也是比较实用的命令
git log --grep='keyword'
# 某次提交发生变化的文件 (有些严格的公司需要)
git show --name-only cm_id
# 查看本地所有git命令历史,包括所有分支 (比较骚的操作就是配合chrry-pick时光机了)
git reflog
撤销操作
# 撤销工作区的某个文件/所有文件
git checkout file_name (旧)/ git restore file_name/.
# 从暂存区恢复到工作区
# git@2.23前 / 2.23后 (我目前2.24.3前者已经失效了)
git checkout -- file_name / git restore --staged file_name/.
# 重置暂存区和工作区与cm_id一致, 放弃cm_id之后的所有提交
git reset --hard cm_id
# 对某次cm_id做反向操作, 生成新的cm_id, 常用来撤销中间的某一次提交
git revert cm_id
# 暂时隐藏, 用来隐藏一些不想提交的文件
git stash [file_name]
# 取出来
git statsh pop `<===>` git stash apply -> git stash drop
发布版本
# 列出所有tag
git tag
# 默认在HEAD打标签 / 指定commmit打标签
git tag v1.0 / git tag [tag] [commit]
# 创建带有说明的标签,用 -a 指定标签名,-m 指定说明文字
git tag -a v1.0 -m "version 1.0 released"
# 推送标签到远程
git ps origin v1.0
# 推送全部未推送过的标签
git ps origin --tags
# 删除本地tag
git tag -d v1.0
# 删除远程tag(先删除本地标签)
git push origin :refs/tags/[tag_name]
# 查看tag信息
git show [tag_name]
HEAD^n和HEAD~n
`纵向: ^表示父提交,HEAD^^^,就表示向上第三次父提交, 简写 HEAD~3`
`横向: 每次提交可以有很多个父提交, ^2 表示上一次父提交中的第二个父提交`
提交规范化
# 全局安装
yarn global add commitizen cz-conventional-changelog
# 项目内安装
yarn add @commitlint/config-conventional @commitlint/cli -D
# 进入项目内初始化cz; 之后所有的git commit 变为 git cz
commitizen init cz-conventional-changelog --save-dev --save-exact
# 在package.json同级目录下 新建 commitlint.config.js文件, 写入
module.exports = { extends: ["@commitlint/config-conventional"] };
# 项目内安装husky 防止不规范代码被提交
yarn add husky -D
# package.json中配置
"husky": {
"hooks": {
"commit-msg": "commitlint -e $GIT_PARAMS"
}
}
参考
内容总结
以上是互联网集市为您收集整理的自用Git手册全部内容,希望文章能够帮你解决自用Git手册所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。