我是git和github的新手,我遇到了一些麻烦。
我正在使用github for windows管理我的小项目。我想我最近对我的代码做了一些改变。我做的是:
现在所有更改都已消失,包括我添加的一些新文件。我可以保存吗?我还安装了git(命令行),这样我就可以执行你认为有用的任何命令。
答案 0 :(得分:7)
关于git的一个好处是,除非你做一些奇怪的事情,否则很难丢失任何东西。
您需要做的是找到代表您想要的状态的点。
假设你检查git log并确定hash 01dbc4 ...是你想要返回的时间点。为此,请执行以下操作:
git reset --hard 01dbc4
请注意,如果您有未提交的更改,则需要先将其存储。
现在,如果该提交缺少您想要的额外文件,并且它们在稍后的提交中,则会更复杂一些。但是你可以做的是将主分支设置为你想要启动的点,然后将分支设置为具有新文件的点。然后,您可以将缺少的信息从新分支复制或有选择地合并到主分支,使您的主分支看起来如您所愿。
请注意,即使您移动分支的指针,就像使用git reset --hard上面和以后孤立的提交一样,您可以通过检查git reflog
并重新设置它们或创建指向它们的分支来恢复它们。他们。
答案 1 :(得分:5)
请注意,现在(2013年3月),使用GitHub for Windows,您可以撤消提交,而无需键入任何git命令:
请参阅“Undo Button in GitHub for Windows”
我们已添加撤消对Discards,Commits,Rollbacks和Merges的支持: