我创建补丁来存储临时修补程序,因为我不想将它们检入存储库。我使用像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。我可以重新修改以前的版本,应用修补程序,然后再次重新定位。
似乎它已经足够好了,但人们说“格式补丁”可以创建补丁,您可以通过电子邮件发送给其他人。如果是这样,我想知道为什么我必须给补丁一个合理的名字?
答案 0 :(得分:4)
它是否更可取,我想是这样,它可以更容易地看到补丁的用途。
答案 1 :(得分: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
这不是一个使用会话,只是有用命令的例子。
有些人说你不需要藏匿,但是当你“回来”执行该任务时,你应该稍后进行分支+提交+重置。 (我找不到我以前读过的那篇博文,但没关系。)