- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这可能吗?如果我不必在将 hunk 分解为不同的提交时在 git-add -i 和 git commit 之间来回切换,那就太好了。有一个更好的方法吗?还是我做错了什么?
最佳答案
如 git book 中所述,在 git add --interactive
session 之后仍然需要一个简单的 git commit
。
(有以下警告:
Remember not to run '
git commit -a
', which will blow away all the careful changes you've just made and simply commit everything )
注意:也许git add -p
(--patch
)会更方便一些:
Interactively choose hunks of patch between the index and the work tree and add them to the index. This gives the user a chance to review the difference before adding modified contents to the index.
This effectively runs
add --interactive
, but bypasses the initial command menu and directly jumps to the patch subcommand.
Bonus,在 Git 2.24(2019 年第 4 季度)中,“git add -i
”已被教导在显示提示时显示 hunk 总数和到目前为止已处理的 hunk。
参见 commit 8085050 (2019 年 9 月 30 日)Kunal Tyagi (kunaltyagi
) .
(由 Junio C Hamano -- gitster
-- merge 于 commit f0d407e ,2019 年 10 月 11 日)
add -i
: show progress counter in the prompt
因此,虽然您仍然需要一个单独的提交步骤,但至少您在完成交互式/补丁 git add
session 期间已经走了多远。
关于git - 从 git add -i 内部提交 hunks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2808242/
我正在尝试创建一个补丁,从 makefile 中删除最后 20 行左右,但我收到“Hunk #1 FAILED at 14”。以及以下拒绝文件。 *************** *** 14,35 *
在 Sublime Merge 中,在查看文件历史记录时,将鼠标悬停在代码差异区域时会出现 Hunk history按钮。 此按钮提供什么功能? 最佳答案 它将历史限制为仅显示该特定文件中那些特定行的
我使用 git add -p 将我的代码更改拆分为多个提交。但是,之后执行 git commit 会提交所有 更改,包括未暂存的更改。我看了一些关于 SO 的问题,但没有发现任何明显的错误。你能帮我理
我是 Eclipse PyDev + EGit 的重度用户,希望切换到 PyCharm。在 Eclipse 中,我可以选择仅将文件的某些 block /行添加到 git 索引,与在终端中使用 git
解决合并冲突时,一个相当常见的模式是我和另一个人都修改了列表或通常被附加到的其他代码部分。如: global.registerFeature(fc); global.registerFeature(f
我从另一个团队那里得到了大约 200 个补丁的巨大补丁。我已将它们分成单独的补丁并应用它们。 对于某些补丁,我看到输出为“补丁文件 aa/bb/cc.c”对于其他一些人,我看到输出为“Hunk #1
如果我正在查看日志消息并选择一个特定的提交来查看差异,是否可以恢复(或反向应用)该提交的特定 block ?我知道有一个还原提交选项,但我只对其中的一小部分感兴趣。 提前致谢。 最佳答案 是的,无论是
这个问题在这里已经有了答案: Can I split an already split hunk with git? (4 个答案) 关闭 3 年前。 我跑过: git add -p 然后我想通过输
显然,SourceTree 只显示修改文件中的第一个 hunks。 如何让它显示所有帅哥? 是否有定义限制的设置? 最佳答案 看起来这是由选项窗口中 Diff 选项卡上的 Max Diff Line
我希望从一个独特的提交中制作一个交互式补丁。我想使用类似于 的输出 git diff --word-diff=porcelain [file] 用于交互式修补。命令 git add --edit 只推
如果我做了两个逻辑上的改动,这在代码上是连续的。 Git 在交互式添加时将其显示为一个大块。 有没有办法在 add --patch 期间专门在 block 中只添加几行? 最佳答案 git add -
在 git 中,如果我的索引中有来自同一个文件的几个 hunk,我如何以交互方式取消其中一个? 是否有任何替代方法可以取消暂存整个文件,然后重新暂存我想保留的 hunk,或者手动撤消对工作副本的更改,
我通常使用 git add -p 添加更改,而且很多时候有几个代码块的大块头,由空行分隔。 但是,git 不会进一步拆分 大块头,我不得不求助于手动编辑。 如何增加 hunk 的粒度,以便每个代码块都
我非常喜欢 git add -p 和 git stash 但我偶尔会遇到以下问题,可以通过以下命令序列重现: git add -p my_file:然后我手动编辑一个大块头(使用e)因为git建议的拆
git add -p 用于暂存更改,git checkout -p 用于交互式丢弃更改。如何取消 hunks 对索引的更改? (我认为 git unstage -p 或 git reset HEAD
我已经通读了源代码,并尝试在线研究它,但我在完全理解它方面遇到了瓶颈。 我的意思是,它与区域分配有何不同? “zone”是否用于小内存,而“hunk”用于模型等较大的东西? 谢谢 最佳答案 是的,hu
我刚刚尝试了 2018.2 EAP,但我没有在我的 gutter 中看到用于部分提交的复选框。而且它也不在提交对话框中。 没有IDE异常,这里提到的其他新特性:https://blog.jetbrai
这可能吗?如果我不必在将 hunk 分解为不同的提交时在 git-add -i 和 git commit 之间来回切换,那就太好了。有一个更好的方法吗?还是我做错了什么? 最佳答案 如 git boo
情况 我在 repo 中提交了一个名为 testing.txt 的文件,其中包含以下内容: First line 我正在尝试应用此补丁,它修改了两个文件,testing.txt 和 nonexiste
当我在 C# 文件上使用 git diff 时,我看到如下内容: diff --git a/foo.cs b/foo.cs index ff61664..dd8a3e3 100644 --- a/fo
我是一名优秀的程序员,十分优秀!