git - 有类似 `git reset --hard --dry-run` 的东西吗?

标签 git reset dry-run

据我所知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/

相关文章:

git - checkout 并使用仓库的不同分支推送时,计算机上的表观文件如何更改?

git - 没有内容的 Git 克隆是否可行?

android - 自定义背景后重置EditText的背景

javascript - 我可以重置已使用 Javascript/jQuery 删除选项的选择框吗?

PowerShell 将日期添加到文件夹中的所有文件名

Git:将针对非常旧的提交的新提交 merge 回master

javascript - 清除选择选项并将其重置为默认值在 Jquery 中不起作用

npm - 是否有 serverless-cloudformation-changesets 的替代方案?对于无服务器版本 3

git - 为什么在 powershell 和 posh git 中没有黄色