本文旨在总结工作中常遇到的一些git使用问题,会持续维护更新,有需要的可添加关注。
1.删除本地所有Tag
使用场景:远端在不同的commit上重新打了Tag后,会导致本地与远端不同步
$ git tag -l | xargs git tag -d
用法解析:xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。它能够捕获一个命令的输出,然后传递给另外一个命令。下面是xargs使用举例
$ echo "hello world" | xargs echo
hello world
2.创建/使用补丁文件
使用场景:作者一般使用这个来保存一些功能测试相关的测试代码,供他人或自己日后使用
使用以下命令本地仓库的变更生成一个名为 file.patch
的补丁文件
$ git diff > file.patch
想要生成包含某个提交与当前工作目录之间差异的补丁文件,可以使用 git format-patch
命令,其中 <commit> 是希望与当前工作目录进行比较的提交的哈希值或分支名称
$ git format-patch <commit> --stdout > file.patch
使用以下命令合入patch,git apply --check用于检查合入是否存在冲突
$ git apply --check file.patch
$ git apply file.patch