将文件的特定行提交给git

eri*_*old 239 git

可能重复:
如何在git中仅提交文件的一部分

如何从文件到git提交一些特定的行范围?而忽略同一文件中的其他一些行更改.

Ada*_*rlo 432

尝试git add -p- 它将以交互方式让您添加,跳过或拆分差异.

  • 为了澄清上述情况,一旦显示了一个大块头,如果你按下"s",它就会把它分成小块. (30认同)
  • @ThomasW - 我认为你的意思是'不是'a' (27认同)
  • 当我这样做时,git选择什么构成了一大块变化.例如,我在三个地方更改了一个文件,但它只给了我两个块作为提交选项:一个包含前两个更改,一个包含第三个更改.OP是否有办法指定实际的行号? (25认同)
  • @NathanLong`git add -p`让你可以将大块头分成小块.请参阅"a"选项.如果那不起作用那么也许'e'选项会.请参阅http://www.kernel.org/pub/software/scm/git/docs/git-add.html的"交互模式"部分 (9认同)
  • @ asgeo1是的,你是对的,我的意思是's'. (8认同)
  • 看起来大块的粒度是有限制的(“抱歉,无法分割这个大块”)。有谁知道如何分割包含多行的块?我有一个打印声明夹在我想省略的有意义的更改之间。 (3认同)
  • 使用选项“e”打开编辑器后,您只需注释(使用#)即可不添加此行。 (3认同)
  • 我为任何开始使用“git add -p”或第一次使用“e”选项的人找到了一个很好的教程:http://johnkary.net/blog/git-add-p-the-most-powerful- git-feature-youre-not-using-yet/ (2认同)
  • 要获得选择的帮助/表达,按`?`然后输入第一个命令. (2认同)
  • 编辑我上面的评论:您可以输入“e”打开编辑器并手动修改块。不知道为什么这是一个单独的界面。似乎您应该能够逐行选择而不是 git 为您决定什么是原子更改。 (2认同)

Pet*_*ton 32

使用git add -i到舞台上线,然后提交正常,或者使用与git -可乐,直到你习惯了命令行.

暂存文件的行

  • 或“git gui”,如重复问题的[此答案](/sf/answers/75964171/)所述。 (5认同)