2012-10-08 33 views
1

我今天从我们的升级中拉出,发现其他人推送的代码被破坏。所以我做了git reset --hard <previous commit>。这什么都不做。Git不会删除未跟踪的文件

我可以git reset我想要的任何傻瓜的东西,所有合并的变化仍然存在于我的本地副本。因此,我一直在阅读每一个重置拉我可以,试图reset,revert,,无论什么排列,但无论我采取的方法我不能拉回撤。

回答

1

运行git log并选择适合您的最后一次提交的哈希值;然后给git reset --hard $HASH和您的本地副本将被恢复。

如果不起作用,请提供您已执行的命令及其各自的输出。

+0

所以在这里,它是: 的git的复位 - 硬e6b16e9 HEAD现在在e6b16e9 MOB-4247更新了一些图片的****** 看起来不错。除了你做一个git状态,你可以得到 我们的分支在21次提交后落后于'起始/分期',并且可以被快速转发。 # #未跟踪文件: #(使用 “混帐添加 ...” 在什么将致力于包括) # #\t ../actionbarsherlock/ #\t ../adb #\t ../核心库/ RES/drawable-华电国际/ btn_check_off_disabled_focused_holo_light.png #\t ../core-library/res/drawable-华电国际/ btn_check_off_disabled_holo_ 等 –

+0

这些文件可以用'git的清洁-fx'清洗。如果你需要从历史记录中删除那些错误的提交,你可能需要'git revert'(如果你想删除一些提交),或者直接'git push origin staging -f',如果你想**擦除它们完全,永远**。 –

+0

除非你知道你在做什么,否则不要强迫推。 –

0

如果你只是想回去一个承诺,你可以做git checkout HEAD^

如果你想回到旧的承诺。

  1. git的日志
  2. 找出
  3. 做一个git结帐HASH OR git的结帐-b状态HASH
相关问题