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