背景:
有时候我们在本地修改了代码之后,无法发布到正式环境。所以我们需要想办法把修改过的地方保存下来,这样当需要展示修改后的代码时,我们可以复现,而不需要把所有代码都保存。
常规来说只需要2个步骤
#第一步 : 将差异的地方保存到some-changes.patch文件
git diff > some-changes.patch
#当子模块也有差异需要保存的时候,使用
git diff --submodule=diff > some-changes.patch
#第二步 : 在 .patch 文件的目录下将差异的地方复现
git apply /path/to/some-changes.patch
#一般保险一些使用下面的三步走
#1.先检查patch文件
git apply --stat newpatch.patch
#2.检查能否应用成功
git apply --check newpatch.patch
#3.打补丁
git am --signoff < newpatch.patch
工作中经常遇到:
-
读懂 git diff
-
知道怎么查找关键的地方是否在git diff 里面
直接搜索 “diff --git”,编译器里直接搜索到有差异的地方 -
知道怎么在git diff 选择性的保存差异点,而非所有的差异都保存
先git diff 查看都有哪些,然后如果是有一些 "diff --git"的内容不希望加入到diff里面,因为太冗余,所以就git checkout 那个文件或者文件夹,这样再次git diff的时候就不会有了;但是git checkout之后,这个文件或者文件夹就会恢复原样
常见报错
参考连接:(https://www.cnblogs.com/hrhguanli/p/4549006.html)