vieyahn2017 / shellv

shell command test and study
4 stars 1 forks source link

4.2 添加新的文件(夹)如何使用git生成patch #65

Open vieyahn2017 opened 4 years ago

vieyahn2017 commented 4 years ago

添加新的文件(夹)如何使用git生成patch

vieyahn2017 commented 4 years ago

背景介绍:

在一个git库里面添加了一个文件夹和若干文件及resource图片文件,需要生成patch分享给大家。

如果是原来的文件做修改,直接用git diff>patch 就可以生成patch文件了,

但是你会发现git diff根本没有任何结果,因为文件夹是新添加的。那怎样生成patch文件呢?

解决方式:

  1. git add .把所有文件都进行添加。

  2. git commit把修改提交。

  3. git log查看最近两次修改的commit id.

  4. git diff commitid_orginal commitid_new >patch

以上就能生成patch文件了,

但是……还有图片文件呢,怎么办?

第4步变成git diff -p --binary commitid_orginal commitid_new >patch就可以了。

转载请注明出处!

来源:http://blog.csdn.net/lizzywu/article/details/18666611

vieyahn2017 commented 4 years ago

实践如下

git init
# 随便加入几个文件
git add .
git commit -m "a"
# 加入要制作patch的新文件(夹)
git add .
git commit -m "4"
git log
git diff  781d838f35c5b447897d1c50c3740d4cac59d447 c66a79ee26238ee66b9ff9f05e6efb787d09384c > pub.patch

使用的话 patch -p1 < pub.patch