使用MSYSGIT历史浏览器,我检出了一个特定的提交。 这是一个错误 - 我试图查看文件,并认为我必须检查它们才能看到它们。
从那时起,我无法再将任何提交推送到我的远程仓库(在GITHub上)。我有点理解,虽然不完全。 [我承认不完全了解结帐的工作原理,请对温度很轻松。]
如何撤消该结帐并将其恢复到之前所处的状态?
如果我右键点击'签出'提交,我会选择'删除此分支'。是否会删除该提交的文件[bad]或者只是撤消签出?我吠叫错了树吗?
答案 0 :(得分:7)
我的理解是你不小心检查了一个早期的提交,然后在你想保留的提交之上做了新的提交。首先,确保您有指向当前工作的指针:
git checkout -b newbranch
然后,结帐你以前的位置:
git checkout master
希望这会让你回到你的主线分支上,你可以正常推送到GitHub。如果您想要提取所做的更改,则可以合并(一旦您满意)删除临时分支:
git merge newbranch
git branch -d newbranch
答案 1 :(得分:0)
分支基本上是一个指针,用C ++术语。
您可能想尝试将分支移动到指向其他提交。请使用git reset
。
git checkout mybranch
git reset mypreviouscommit
这不会删除提交,但会使mybranch
“指向”mypreviouscommit
。所以,mypreviouscommit
处的任何内容都会出现在master
。
答案 2 :(得分:-1)
如果您不介意丢失自上次拨入GitHUB以来所做的所有更改,您只需删除目录并
git clone ...
关于一个新的,新的。