繁体   English   中英

如何将提交还原到特定文件夹?

[英]How to revert a commit but to a specific folder?

我已经做出了这样的承诺

提交 hash - hash1 -> 更改 = a/1.txt, a/2.txt, b/1.txt

现在我正在通过git revert -m 1 hash1恢复此提交,但我只想删除对文件夹a/所做的更改,但想保留b/中的更改

可能吗?

git revert -m 1 hash1
# If needed, resolve conflicts and commit;
# those outside of a/ may be resolved arbitrarily.
git reset --hard HEAD^
git checkout hash1 a/
git commit -C HEAD@{1}

您也可以使用revert -n然后在提交之前重置所有其他目录; 只有当有许多这样的其他目录时,上面的配方才更可取,因为它只命名a .

您可以使用--no-commit

git revert --no-commit <commit_id>
git restore --staged b/
git checkout .
git commit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM