gpt4 book ai didi

用于交互式应用补丁的 Git 单行代码

转载 作者:太空狗 更新时间:2023-10-29 14:29:40 24 4
gpt4 key购买 nike

我有这个补丁文件,它包含一堆我想应用到 git 分支的修改。但我不想对所有这些修改进行一次独特的提交,而是想将其拆分为 2 或 3 次提交

我知道我可以通过首先应用补丁,然后进行交互式添加(逐 block 添加)来实现这一点,如下所示:

git apply mypatch
git add -p

我只是想知道是否可以在一个 git 命令中做到这一点。我在 git applygit add 的联机帮助页中均未找到任何内容。

编辑

我不认为这个问题应该被认为是 Syntax for Git aliases with multiple commands 的重复问题因为该问题(及其答案)不需要不涉及传递给别名的参数。

最佳答案

感谢 @8bittree 的评论,我正在回答我自己的问题。

至少有两种方法可以做到这一点:

  • 使用shell 函数 ( see 8bittree's answer )
  • 使用 git 别名。我更喜欢这个解决方案,因为它只涉及 .gitconfig,不需要修改 .bashrc,并且 git shell completion 对新别名有效,它在完成列表中与其他标准 git 命令一起显示

这就是我最后添加到我的全局 .gitconfig 中的内容:

[alias]
# interactive apply patch
ipatch = "!f() { git apply $1; git add -p; }; f"

然后我只需要做:

git ipatch mypatchfile

关于用于交互式应用补丁的 Git 单行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34932508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com