我需要将工作目录和索引更新为某些提交的状态。当我运行git checkoutGit 更新时HEAD,index会出现working directory. 我知道我可以从提交中签出单个文件而无需更新HEAD我知道我可以通过简单地指定文件的路径但是对整个工作目录执行此操作的最佳方法是什么?
目前我只是在做:
ID=$(git rev-parse HEAD)
git reset --hard COMMIT_ID
git reset --soft $ID
Run Code Online (Sandbox Code Playgroud)
Fer*_*big 11
与git checkoutdot作为路径
git checkout COMMIT_ID .\nRun Code Online (Sandbox Code Playgroud)\n\n从git checkout的手册页:
\n\n\n\n\n\n
git checkout [<tree-ish>] [--] <pathspec>\xe2\x80\xa6\xe2\x80\x8b通过替换索引或 <tree-ish> 中的内容来覆盖工作树中的路径(通常是提交)。当给出 <tree-ish> 时,匹配的路径会在索引和工作树中更新。
\n\n由于先前的合并失败,索引可能包含未合并的条目。默认情况下,如果您尝试从索引中检出此类条目,则检出操作将失败并且不会检出任何内容。使用 -f 将忽略这些未合并的条目。可以使用 --ours 或 --theirs 从索引中检出合并特定端的内容。使用 -m,可以放弃对工作树文件所做的更改以重新创建原始的冲突合并结果。
\n