据我所知git reset --hard
可能会导致不必要的数据丢失,因为它可能会做出无法撤消的更改,有没有办法在我执行它之前检查它会做什么?基本上我正在寻找符合逻辑的东西
git reset --hard --dry-run
或
git reset --hard --verbose --dry-run
不幸的是,它不适用于当前现有的 Git,因为 reset
不支持 --dry-run
。
最佳答案
我会对问题的前提提出异议。我整天灵活而自由地硬重置,我不冒任何风险。如果一切都很好地 stash 在提交中,硬重置是非常安全和可撤销的(特别是如果你先创建一个占位符分支)。所以这只是确保所有内容都 的问题。git status
会告诉你这一点。
此外,考虑将 git switch --det
作为替代方案。它的作用与硬重置大致相同,但它内置了安全检查功能。您始终可以先切换,然后再移动分支名称。同样,我经常这样做。
最后,我应该补充一点,我有一个别名,可以让我说 git snapshot
来确保双重确定:
snapshot = !git stash push --include-untracked --message \"snapshot: $(date)\" && git stash apply \"stash@{0}\" --index
如果您先快照,那么下一步是安全的,因为您始终可以返回到您所在的提交并应用存储。
关于git - 有类似 `git reset --hard --dry-run` 的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75483790/