文章目录
前言
日常开发中除了分支merge合并外,经常会用cherry-pick,示例:git cherry-pick 29d9493d
,如果要进行多次代码的遴选,可以借助git工具TortoixeGit,进行多次提交的遴选。
一、Git工具及常用命令
TortoiseGit工具
Tortoisegit(俗称:git小乌龟): https://tortoisegit.org/download/
Tortoisegit中文语言包: https://tortoisegit.org/download/
代码提交规范说明
feat - 新功能 feature
fix - 修复 bug
docs - 文档注释
style - 代码格式(不影响代码运行的变动)
refactor - 重构、优化(既不增加新功能,也不是修复bug)
perf - 性能优化
test - 增加测试
chore - 构建过程或辅助工具的变动
revert - 回退,撤销之前的提交
build - 打包
Git常用命令
// 查看分支
git branch 查看本地分支
git branch -r 查看远程分支
git branch -a 查看远程和本地分支
// 切换分支
git checkout [branch-name]
// 创建分支
git checkout -b [branch-name] // 创建新分支并切换到此分支
git push -u origin [branch-name] //上传本地指定分支到远程仓库
//合并分支
1 git checkout [branch2] 切换分支
2 git pull 拉取
3 git merge --no-ff [branch1] 将[branch1]合并到当前版本[branch2]
或 git merge --no-ff [branch1] -m '注释说明'
4 git push -u origin [branch2] 上传合并后分支
git合并某个特定的提交commit到指定的分支上
通过git log先找到A分支的commit代号(简略ID-29d9493d-前8位数)
git checkout B
git cherry-pick 29d9493d
git push
git log // 查看提交的记录
// git reset --hard commitID
git reset --hard dcd2bb446afd31e620866b2e49ba05bff108c1de
异常的获取或操作,导致文件冲突,不想要当前代码时使用下面方式
git reset --hard FETCH_HEAD
// 删除分支
git branch -D [branch-name] //删除本地分支
git push origin -d [branch-name] // 删除远程分支
git fetch -p // 移除远程仓库不存在的本地分支
// 更新本地远程分支
git remote update origin --prune
二、git基于提交日志的单次代码合并
1、使用TortoiseGIT
i演示
首先,切换到当前要合并到的【To】分支,右键【查看日志】,可通过【左上角,切换要提取代码的[From]分支】