VS2017搭配VSTS与Git:如何禁用回滚操作的自动提交?
单个文件回滚到特定提交的VS2017 GUI解决方案
针对你在VS2017 + VSTS Git环境下遇到的单个文件回滚问题,我来分享下正确的GUI操作方式,以及你关心的自动提交相关问题:
为什么之前的操作会回滚整个提交?
你之前在History窗口选中C2右键「Revert」的操作,本质是针对整个提交的回滚——哪怕你之前选中了单个文件,这个操作的作用对象是C2这个提交本身,所以会把该提交里所有修改的文件都回滚到之前的状态,这就是问题所在。
正确的单个文件回滚GUI步骤
要只回滚A.vb到C2的状态,且保留未提交更改(手动提交),请按以下步骤操作:
- 在Solution Explorer中选中目标文件
A.vb,右键选择「Show History...」 - 在弹出的History窗口中,找到你要回滚到的提交C2,右键点击该提交,选择「View Commit Details」
- 在Commit Details窗口里,找到列表中的
A.vb文件,右键点击它,选择「Revert」
完成后,你可以打开Team Explorer的「Changes」标签页,会看到只有A.vb的更改处于未提交状态,这时候你可以添加提交注释,手动完成提交,完全不会自动提交,也不会影响C3中修改的其他文件。
关于「auto-commit on revert」的选项
VS2017里并没有专门的全局开关来禁用“回滚时自动提交”,但通过上面的操作方式——从提交详情中针对单个文件执行Revert,本身就不会触发自动提交,因为这个操作只会生成单个文件的更改到工作区,而非直接创建一个回滚提交。
这样就完全满足你的需求,不需要依赖命令行或者另存文件的临时方法了。
内容的提问来源于stack exchange,提问作者M4mu5
相关产品推荐
相关产品推荐

