在GIT中撤消结帐

时间:2009-08-30 09:36:45

标签: git msysgit

使用MSYSGIT历史浏览器,我检出了一个特定的提交。 这是一个错误 - 我试图查看文件,并认为我必须检查它们才能看到它们。

从那时起,我无法再将任何提交推送到我的远程仓库(在GITHub上)。我有点理解,虽然不完全。 [我承认不完全了解结帐的工作原理,请对温度很轻松。]

如何撤消该结帐并将其恢复到之前所处的状态?

如果我右键点击'签出'提交,我会选择'删除此分支'。是否会删除该提交的文件[bad]或者只是撤消签出?我吠叫错了树吗?

3 个答案:

答案 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 ...

关于一个新的,新的。