gpt4 book ai didi

git - git checkout 会更新暂存区吗?

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

可以通过 git reset 更新暂存区,git checkout(或使用许多额外参数)是否会从新的 HEAD 更新暂存区?

更新:似乎 git 的行为取决于您是 check out 文件还是分支/提交。

  1. 如果没有指定文件,它会更新 HEAD 以指向/切换到给定的分支/提交,如果暂存区和工作树有任何变化,它会发出警告并阻止切换。例如,git checkout DevBranch
  2. 如果指定了文件但没有分支/提交,它将指定的文件从暂存区复制到工作树并且不触及暂存区(不更新 HEAD)。例如,git checkout file.txtgit checkout -- file.txt
  3. 如果同时指定了分支/提交和文件,它会根据给定的分支/提交更新阶段区域和工作树中的指定文件(不更新 HEAD)。例如,git checkout DevBranch -- file.txt

最佳答案

当您指定一个分支或提交到 git checkout 时,暂存区和工作目录确实会更新。所以,例如:

git checkout head~1 myfile.txt

将采用 head 父级中的 myfile.txt 版本并将其复制到暂存区工作目录。如果您没有指定提交或分支,即:

git checkout myfile.txt

然后 myfile.txt 的内容将暂存区复制到工作目录;暂存区本身没有改变。

关于git - git checkout 会更新暂存区吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30672139/

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