参考链接
命令简介
- “git add *”: 添加文件
- “git am”: 应用 patch
(1)制作补丁, N表示个数: git format-patch -N
(2)先检查patch文件:git apply --stat 0001-.patch
(3)检查能否应用成功:git apply --check 0001-.patch
(4)打补丁:git am (–continue | --skip | --abort) PATCH_NAME
(5)强制应用补丁, 生成×.rej包含冲突代码:git apply --reject PATCH_NAME
(6)解决冲突后 git add *
(7)add后执行git am --resolved,然后执行(4)
(6) 打补丁报错信息: fatal: 之前的变基目录 .git/rebase-apply 仍然存在,但却提供了 mbox。
解决方法: git am --abort
- “git archive”: 创建文件存档
(1) 查看支持的归档格式(tar, zip): git archive --list
(2) 将加了tag的版本打包提取: git archive -v --format=zip 3.19 > 3.19.zip
(3) 导出最新的版本库: git archive -o …/latest.zip HEAD
(4) 导出指定提交记录: git archive -o …/version-1.0.0.tar 9976c24
(5) 导出最后一次提交修改过的文件: git archive -o …/lastcommit.zip HEAD $(git diff --name-only HEAD^)
- “git bisect”: 使用二分法搜索查找引入错误的提交
(1) 检查一下代码提交历史: git log --pretty=oneline
(2) 启动查错: git bisect start [终点] [起点]
(3) 确定出错误的patch在哪部分: git bisect good/git bisect bad
(4) 退出查错: git bisect rese
- “git branch”: 操作分支
(1) 删除dev分支(-D强制删除): git branch -d/-D dev
(2) 修改本地的分支名: git branch -m master dev
(3) 创建分支,不切换分支: git branch test
- “git bundle”: 更新分支的代码
(1) git bundle create repo.bundle HEAD master
[1] repo.bundle 文件包含了所有重建该仓库 master 分支所需的数据
(2) 校验是否合法: git bundle verify repo.bundle
(3) 列出顶端提交列出顶端提交: git bundle list-heads repo.bundle
(4) 解压: git clone repo.bundle ./master_sdk -b master
- “git checkout”: 切换分支或恢复工作树文件
(1) 本地创建分支跟踪远程分支: git checkout -b --track- “git cherry-pick”: 将代码从一个分支转移到另一个分支
- “git grep -n car_plate_regconition”: 把所有包含某个字符的行列出来
- git stash
(1) git stash: 将文件给push到一个临时空间中
(2) git stash pop 将文件从临时空间pop下来
(3) git stash show: 显示临时空间内容
(4) git stash save “aaa”: 同git stash,可以添加备注信息