使用 git 创建补丁和打补丁。
首先說一下 git diff
git diff 比較的方式比較多樣,git diff 使用不同的格式 可以在工作區,暫存區,以及倉庫各個版本的任意兩者進行比較。將比較的結果重定向到patch 文件,即可用 patch 指令,或者其他的命令打進這個patch。
git diff > diff.patch顯示工作區與當前分支之間的差異。但是這個指令有一個問題,就是無法顯示出 Untracked files ,所以用這個命令生成的patch就無法添加 untracked files 。
git diff --cached > diff.patch 或者 git diff --stage > diff.patch顯示暫存區與當前分支之間的差異,這個指令就可以對新增加的文件進行添加,前提是需要先 git add 將需要增加的文件,添加到暫存區。
git diff --cached/--staged/commit commit > diff.patch比較暫存區/給定提交 ID 與 給定提交ID的 (省略后面的commit就是與當前分支) 的差異。
其次 git format-patch
git am + patch_file 是專門用于git format-patch 所生成的補丁,使用git am + patch_file會自動commit 并根據patch生成提交記錄。
git format-patch -n生成 n 次提交的補丁文件。
打補丁,git patch ,git apply ,git am
git diff 和 git format-patch 生成的補丁文件都可以使用git patch ,git apply來打補丁,但是 git am 僅可以用于git format-patch 生成的補丁。
git patch -p1 < patch_files 或者直接使用 git apply patch_files注意,在執行 patch 命令時,指定-p1,當 位置是在哪里制作的patch,就在哪里執行patch 或者 apply。
git am patch_files同理am 命令也需要在制作補丁的位置執行命令。
總結
以上是生活随笔為你收集整理的使用 git 创建补丁和打补丁。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 艾默生流量计流量范围的应用条件
- 下一篇: 深入了解人工智能的主要缺点