1

我创建补丁来存储临时修复,因为我不想将它们签入存储库。我使用命令喜欢git format-patch --full-index HEAD~1..HEAD创建补丁。但是当新的提交被检入存储库时,我的补丁可能由于一些冲突而无法应用。

现在我使用git format-patch --full-index HEAD~1..HEAD --suffix=-`git rev-parse --short HEAD~1`.patch这样我就有了来自父母的哈希 ID。我可以重新调整到以前的版本,应用补丁,然后重新调整到头。

似乎已经足够好了,但人们说“格式补丁”可以创建可以通过电子邮件发送给其他人的补丁。如果是这样,我想知道为什么我必须给补丁一个合理的名称?

4

2 回答 2

4

你一定要吗?不。

是不是更可取,我猜是这样,它可以更容易地看到补丁的用途。

于 2012-12-21T00:49:35.203 回答
1

我认为这是个好主意(命名您所做的事情通常是个好主意,因为这意味着您了解自己在做什么),但我认为您在滥用 git 功能。

对于您所做的事情,您应该使用git stash. 这是一堆未应用的提交,您可以在其中留下未完成的工作,直到您想收回它。

$ git status
# dirty working tree
$ git stash
$ git status
# clean working tree - only untracked files
$ git checkout another-branch
# optional: work work work
$ git stash pop
# applies last stash to a clean working tree
$ git stash apply
# applies last stash to a clean working tree but don't remove it from the stash's stack
$ git stash apply
# re-applies same commit
$ git stash apply/pop stash@{3}
# applies/pops 4th commit in stash
$ git stash list
# lists all stash's items
$ git stash save "My commit message"
# saves stash (as with 'git stash' alone), but with a fixed message

这不是一个使用会话,只是有用命令的示例。

有些人说您不必隐藏,但是当您“返回”该任务时,您应该稍后分支 + 提交 + 重置。(我找不到我前段时间读过的那篇博文,但没关系)。

于 2012-12-21T05:29:56.713 回答