几天前刚开始使用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
$
答案 0 :(得分:3)
git fetch
不会更改您的本地分支机构,git checkout
将不允许您覆盖未经修改的更改。我个人怀疑你是否造成了任何重大损失(实际上很难失去变化)
尝试执行git checkout <branch>
,其中branch是您提交代码的分支。如果您不知道自己使用了哪个分支,可以git branch
获取分支列表,然后依次git checkout
每个分支。在每个git checkout
之后,您应该检查是否找到了您的代码。