git config --global user.name "XXX"
git config --global user.email "XXX@YYY.com"
mkdir CCC
cd CCC
git init
touch README.md
git add README.md
git commit -m "first commit"
git remote add origin https://gitee.com/XXX/YYY.git
git push -u origin master
cd existing_git_repo
git remote add origin https://gitee.com/XXX/YYY.git
git push -u origin master
1 递归clone
git clone --recursive https://gitee.com/XXX/YYY.git //递归clone
2 添加submodule
git submodule add XXX
git submodule update --init --recursive
分支规范
master 主分支 用于发布重大版本更新
dev 开发主分支 日常开发在此分支上进行
临时性分支
- feature 功能分支
从dev分支上面分出来,合并到dev的版本(feature-) - release 预发布分支
从dev分支上面分出来,合并到Master的测试版(release-) - hotfix 修补bug分支
从Master分出来,合并进Master和Develop分支(hotfix-)
commit规范
<type>(<scope>): <subject>
-
type(必须)
feat:新功能(feature)
fix/to:修复bug,产生diff(fix自动修复,to不自动修复)
docs:文档
style:格式(不影响代码运行的变动)
refactor:重构(即不是新增功能,也不是修改bug的代码变动)
perf:优化相关,比如提升性能、体验
test:增加测试
chore:构建过程或辅助工具的变动
revert:回滚到上一个版本
merge:代码合并
rebase:换基(去掉不必要的分支信息)
sync:同步主线或分支的Bug
- scope(可选)
说明commit 影响范围
subject(必须)
目的的简短描述 - 示例:
fix(DAO):用户查询缺少username属性
feat(Controller):用户查询接口开发
安装
sudo yum install git
配置
账号 邮箱 颜色
$ git config --global user.name "XXX"
$ git config --global user.email "XXX@YYY.com"
$ git config --global color.ui true
初始化
git init
过滤
.gitignore
/mtk/ 过滤整个文件夹
*.zip 过滤所有.zip文件
/mtk/do.c 过滤某个具体文件
git add . 考虑过滤 (git add * 不考虑过滤)
批量删除名字带有XXX的远程分支
git branch -r| grep 'XXX' | sed 's/origin///g' | xargs -I {} git push origin :{}