gpt4 book ai didi

git - 在一行中添加并提交特定文件

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

我有两个未暂存提交的文件:

  • src/A.java
  • src/B.java

我想在一行中添加和提交 B.java。最方便的方法是什么,比如一个类轮。

我知道 git commit -am "Commit message",我需要为特定文件

最佳答案

您还可以运行:

git commit --only <paths>

(如果需要,添加 -m <message>),或者:

git commit --include <paths>

(如果需要,再次添加 -m <message>)。这——为了稍微简化它——具有将指定路径添加到索引(--include)或临时索引(--only)的效果,然后使用您通过 --only 选择的索引进行提交。对比--include .

如果您使用了 --include ,成为当前分支上新的 HEAD 提交的已完成提交自动由扩充索引表示。这种情况描述起来更简单:它确实像你有 git add 一样工作。编辑了这些文件,因为它带有任何更早的 git add编辑文件。

如果您使用了 --only ,成为新 HEAD 的已完成提交表示不一定在正常索引中的内容。这种情况更复杂,因为索引通常应该表示(因此包含所有相同的文件) HEAD 提交,直到您开始 git add ing 文件以覆盖索引版本。这里的内部细节是 Git 复制了 --only在安全安装新提交后将文件添加到常规索引。

保留过度简化(因为所有版本确实使用了一些特殊的临时索引文件),我们可以将其绘制为:

  • 正常提交:使用 索引作为所有已提交文件的来源。提交完成后,索引还是索引,仍然包含所有文件。

    因此,如果你 git add fileA然后 git commit , 新的提交有新的 fileA (和以前一样旧的每隔一个文件)。索引和新HEAD提交匹配。

  • git commit --include <file> : 很像 git add其次是 git commit .

    因此,如果你 git add fileA然后 git commit --include fileB , 新的提交有新的 fileA和新的 fileB (和以前一样旧的每隔一个文件)。索引和新HEAD提交匹配。

  • git commit --only <file> : 复制 HEAD提交到临时索引,添加 <file>到临时索引,然后运行 ​​git commit使用临时索引。成功后,添加 <file> 索引。

    因此,如果你 git add fileA然后 git commit --only fileB ,新提交有 fileA (来自以前的 HEAD 提交), fileB (来自临时索引),以及与以前相同的旧文件。 after 提交后的索引有新的 fileA和新的 fileB ,所以提交后的索引不同于新的 HEAD提交,因为它有不同版本的 fileA .

关于git - 在一行中添加并提交特定文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50576360/

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