在本地回滚git存储库

时间:2013-10-24 13:47:09

标签: git bitbucket

几天前刚开始使用git,字面意思。没有必要使用它,因为我没有在团队中工作。现在,我可以看到它有多好,但我不小心做了一个巨大的蠢事。

我在本地创建了一个巨大的项目,初始化了一个存储库并将所有内容添加到该存储库git add .然后我尝试将其推送到我可以访问的Bitbucket上的私有存储库,但是它不接受我的登录。所以我只是在摆弄,我在Bitbucket上创建了一个分支。

创建一个新分支并开始在本地工作!它高兴地说,所以,不经思考,我跑了

 git fetch && git checkout branch1

在我的终端,没有意识到我在昨天一直在工作的目录中。在没有提示警告的情况下,git继续使用我刚创建的分支覆盖目录中的所有内容,当然分支包含来自master分支的一周代码。

我感到恶心。我认为这只是彻底摧毁了一周的工作。初学者,这是正确的吗?你会甩掉手指摇晃一秒钟吗?是的,我应该逐步推进。

但请记住,我在本地创建了项目,初始化了一个存储库并将所有内容添加到该存储库 git add .

这是否意味着我可以回滚到本地存储库?

我试过了

git checkout .

但是git说它不是一个存储库。坦白说,看起来像游戏结束了。但是,如果只是从Bitbucket那里获得了一个存储库,它怎么不是?

这是一些输出

$  git status
# On branch ruby
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   db/
#   log/
#   tmp/
nothing added to commit but untracked files present (use "git add" to track)
$ git checkout master
Switched to branch 'master'
$ git status
# On branch master
nothing to commit, working directory clean
$ 

1 个答案:

答案 0 :(得分:3)

git fetch不会更改您的本地分支机构,git checkout将不允许您覆盖未经修改的更改。我个人怀疑你是否造成了任何重大损失(实际上很难失去变化)

尝试执行git checkout <branch>,其中branch是您提交代码的分支。如果您不知道自己使用了哪个分支,可以git branch获取分支列表,然后依次git checkout每个分支。在每个git checkout之后,您应该检查是否找到了您的代码。