标签: patch

为特定提交生成git补丁

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

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

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

git patch

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

如何移动某些提交基于git中的另一个分支?

情况:

  • 主人在X.
  • quickfix1是在X + 2提交

这样:

o-o-X (master HEAD)
     \
      q1a--q1b (quickfix1 HEAD)
Run Code Online (Sandbox Code Playgroud)

然后我开始研究quickfix2,但不小心将quickfix1作为源分支进行复制,而不是master.现在quickfix2处于X + 2提交+ 2相关提交.

o-o-X (master HEAD)
     \
      q1a--q1b (quickfix1 HEAD)
              \
               q2a--q2b (quickfix2 HEAD)
Run Code Online (Sandbox Code Playgroud)

现在我希望有一个quickfix2分支,但没有属于quickfix1的2次提交.

      q2a'--q2b' (quickfix2 HEAD)
     /
o-o-X (master HEAD)
     \ 
      q1a--q1b (quickfix1 HEAD)
Run Code Online (Sandbox Code Playgroud)

我尝试从quickfix2中的某个修订版创建补丁,但补丁不保留提交历史记录.有没有办法保存我的提交历史记录,但有一个分支没有更改quickfix1?

git patch commit

367
推荐指数
4
解决办法
20万
查看次数

如何在没有安装Git的情况下应用`git diff`补丁?

我的客户端如何应用git diff未安装git 创建的补丁?我试图使用patch命令,但它总是要求文件名修补.

git diff patch

278
推荐指数
4
解决办法
13万
查看次数

如何应用使用git format-patch生成的补丁?

我有2个git本地存储库,它们都指向同一个远程存储库.

在一个git存储库中,如果我这样做git format-patch 1,如何将该补丁应用于其他存储库?

git patch

193
推荐指数
6
解决办法
18万
查看次数

如何从我最新的git提交中创建补丁?

我正在寻找从最后一次提交创建补丁的神奇命令.

我的工作流程有时看起来像这样

vi some.txt
git add some.txt
git commit -m "some change"
Run Code Online (Sandbox Code Playgroud)

现在我只想写

git create-patch-from-last-commit-to-file SOME-PATCH0001.patch
Run Code Online (Sandbox Code Playgroud)

但是我应该把它放在那里而不是create-patch-from-last-commit-to-file

git patch

186
推荐指数
5
解决办法
17万
查看次数

我可以用git拆分已经拆分的大块头吗?

我最近发现了git 命令的patch选项add,我必须说它真的是一个很棒的功能.我还发现通过s按键可以将大块子分成较小的块,这增加了提交的精度.但如果我想要更精确,如果分裂的大块不够小怎么办?

例如,考虑这已经拆分的大块头:

@@ -34,12 +34,7 @@
   width: 440px;
 }

-/*#field_teacher_id {
-  display: block;
-} */
-
-form.table-form #field_teacher + label,
-form.table-form #field_producer_distributor + label {
+#user-register form.table-form .field-type-checkbox label {
   width: 300px;
 }
Run Code Online (Sandbox Code Playgroud)

如何仅将CSS注释删除添加到下一次提交?该s选项不再可用!

git patch split add

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

PATCH和PUT请求之间的主要区别是什么?

PUT在我的Rails应用程序中使用了一个请求.现在,PATCH浏览器已经实现了一个新的HTTP动词.所以,我想知道PATCHPUT请求之间的主要区别是什么,以及什么时候应该使用其中一个.

patch http put http-verbs

169
推荐指数
7
解决办法
9万
查看次数

你如何使用git format-patch将提交压缩成一个补丁?

我在一个分支上有八个提交,我想通过电子邮件发送给一些不是git开悟的人.到目前为止,我所做的每件事都给了我8个补丁文件,或者从一开始就开始给分支历史上每次提交的补丁文件.我使用git rebase --interactive来压缩提交,但是现在我尝试的所有内容从一开始就给了我数以万计的补丁.我究竟做错了什么?

git format-patch master HEAD # yields zillions of patches, even though there's 
                             # only one commit since master
Run Code Online (Sandbox Code Playgroud)

git patch squash git-squash

162
推荐指数
7
解决办法
9万
查看次数

如何在Windows上应用diff补丁?

有很多程序可以创建一个差异补丁,但我有一点时间试图应用一个.我正在尝试分发补丁,我从用户那里得到了一个关于如何应用补丁的问题.所以我试着自己搞清楚,发现我没有线索,我能找到的大多数工具都是命令行.(我可以处理一个命令行,但是很多人在没有友好的GUI的情况下会丢失.所以这些都不利于此目的.)

我尝试过使用TortoiseSVN.我有我想申请的补丁.我右键单击补丁,TortoiseSVN子菜单下有一个选项,上面写着"Apply patch".它只是拉出一个空窗口.

所以我试着点击Open.它有两个选项:合并和应用统一差异.(幸运的是,补丁采用统一的差异格式.)但是普通的apply选项不起作用:它要求补丁和文件夹.不知怎的,它忘了要求文件应用补丁!所以TortoiseSVN只是简单的不起作用.是否有基于Windows GUI的实用程序,它将获取补丁和文件并正确应用它?

编辑:看看到目前为止的回复,似乎Tortoise只会在它已经版本化的文件中正确执行.情况并非如此.我需要能够将补丁应用于不是来自SVN存储库的文件.我只是尝试使用Tortoise,因为我碰巧知道SVN使用差异并且必须知道如何创建它们并应用它们.

windows diff patch

133
推荐指数
7
解决办法
12万
查看次数

从git存储库创建补丁或diff文件,并将其应用到另一个不同的git存储库

我在基于WordPress的项目上工作,我想在每个新版本的WP上修补我的项目.为此,我想在两个提交或标签之间生成一个补丁.

例如,在我的回购中,/www/WP我这样做:

$git patch-format com1..com2 --stdout > ~/patchs/mypatch.patch

要么

$git patch-format tag1..tag2 --stdout > ~/patchs/mypatch.patch

/www/WP git natif WordPress

/www/myproject 我的git项目基于WordPress

git apply命令行是不行的,我想是因为我们是在不同的存储库.

我可以生成一个没有提交的补丁文件,只是一个差异并将其应用到另一个git存储库吗?

谢谢你.

git diff patch git-diff git-apply

125
推荐指数
3
解决办法
12万
查看次数

标签 统计

patch ×10

git ×8

diff ×3

add ×1

commit ×1

git-apply ×1

git-diff ×1

git-squash ×1

http ×1

http-verbs ×1

put ×1

split ×1

squash ×1

windows ×1