相关疑难解决方法(0)

为特定提交生成git补丁

我需要编写一个脚本,为SHA1提交号列表创建补丁.

我尝试过使用git format-patch <the SHA1>,但是从那个SHA1开始为每个提交生成一个补丁.在生成几百个补丁之后,我不得不杀死这个过程.

有没有办法只为特定的SHA1生成补丁?

git patch

1144
推荐指数
10
解决办法
57万
查看次数

如何将所有git提交压缩成一个?

你如何将整个存储库压缩到第一次提交?

我可以重新设置第一次提交,但这会让我有2次提交.有没有办法在第一个之前引用提交?

git rebase git-rebase squash git-rewrite-history

427
推荐指数
17
解决办法
20万
查看次数

'git format-patch和'git diff'有什么区别?

我没有看到'git format-patch'和'git diff'的输出有什么区别,有没有?并且我不能使用'git diff'生成补丁然后使用git apply应用它吗?

我的问题是我对索引添加了更改,但显然git format-patch只接受提交,所以如果我可以使用diff的输出,那么我可以使用此命令为索引中的更改生成一个补丁:

git diff --cached > index.patch
Run Code Online (Sandbox Code Playgroud)

git diff patch

85
推荐指数
3
解决办法
4万
查看次数

如何获得第一次提交的Git diff?

我创建了一个repo,在其中创建了一个文件,在文件中放入了一些内容,并提交了文件.现在,我希望看到该提交的差异,理想情况下应该显示添加的文件和添加到其中的行.

但是,git diff HEAD^ HEAD返回fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.,可能是因为这是对repo的第一次提交.

怎么解决这个问题?还有办法查看第一次提交中添加的文件的差异吗?

git version-control git-diff

27
推荐指数
2
解决办法
7275
查看次数