首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用父SHA创建git修补程序,以便它可以用作存档?

问如何使用父SHA创建git修补程序,以便它可以用作存档?
EN

Stack Overflow用户
提问于 2021-03-26 19:30:05
回答 1查看 18关注 0票数 0

假设我在git上做一个探索性分支,而它只有一个提交。我决定我的工作很快就不需要了,我不想创建分支/标记。事实上,我想扔掉这些更改,但是为了防止再次需要它们,我想保存一个补丁。

为了这篇文章的目的,假设我只想归档一个更改:

代码语言:javascript
复制
* 040cc7c   (HEAD, ExperimentalBranch) This is where the experiment is
* a29ceb7   (master) This is the main branch
...

我提议的归档解决方案如下:

040cc7c.

  • Archive storage.

  • Delete
  1. 创建了一个提交修补程序,该修补程序文件位于回购协议( repo.

)中用于长期ExperimentalBranch的某个地方。

到目前为止,一切似乎都很好,直到几年后,我可能想恢复修补程序。它可能引用不兼容且无法应用的文件/行。为了解决这个问题,我可以查看修补程序的父程序SHA并在那里应用它。

因此,我提议的解压缩解决方案如下:

a29ceb7.

  • Apply
  1. Checkout SHA .

唯一的问题是,当我创建修补程序时,我看到它包含040cc7c,但在任何地方都没有提到a29ceb7。在我创建修补程序多年之后,我可能很难找到040cc7c的父级。此外,由于我在几年前删除了分支,所以我不希望有一个git命令可以帮助我发现父级。

在创建修补程序时,是否有一种方法可以确保它的父SHA也包含在文件中?

我目前的解决办法是重命名修补程序,以包括父程序的SHA,但这很容易忘记,而且更手动。

EN

回答 1

Stack Overflow用户

发布于 2021-03-26 20:28:42

我建议不要删除这个分支,但是如果您真的想将修补程序存储在其他地方,您可以这样做。

代码语言:javascript
复制
git format-patch --base HEAD^ HEAD^

以便在修补程序中写入父(基)。

示例:

代码语言:javascript
复制
$ git format-patch --base HEAD^ HEAD^ 
0001-test.patch
$ cat 0001-test.patch 
From 057ff8fa3ba485abeb69156e9717570ad483d52c Mon Sep 17 00:00:00 2001
From: Dispeakable me <Dispeakable.me@whatever.io>
Date: Sat, 27 Mar 2021 09:47:23 +0100
Subject: [PATCH] test

---
 test.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/test.cpp b/test.cpp
index 6f4ed1e..1ef4295 100644
--- a/test.cpp
+++ b/test.cpp
@@ -1,4 +1,5 @@
 
+
 #include <list>
 
 class Semaphore {

base-commit: b50a780230e2f3f2be8bf6ad3797de272cafba5c
-- 
2.26.3

您可以检查父sha1:

代码语言:javascript
复制
$ git cat-file -p  HEAD
tree 5c03e768250fe7fe94d8ba0454feae422abd6aac
parent b50a780230e2f3f2be8bf6ad3797de272cafba5c
author Dispeakable me <Dispeakable.me@whatever.io> 1616834843 +0100
committer Dispeakable me <Dispeakable.me@whatever.io> 1616834843 +0100

test
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66823222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档