【问题标题】:GIT deleted my local filesGIT 删除了我的本地文件
【发布时间】:2012-09-08 18:29:21
【问题描述】:

我有一个很大的问题。我正在阅读 Ruby on Rails 教程,他们建议我使用 GIT 进行版本控制。我以前从未使用过它,并且通过教程我认为我没有正确使用它。这是一些背景故事。

我创建了一个新项目,然后创建了一个新的 Github 存储库。我将它们命名为相同的东西,并将我的项目推送到该存储库。然后我查看了 Github,我所有的项目文件都在那里。然后,我浏览了本教程的几章,并按照说明将文件推送到 GIT。过了一会儿,我意识到,我的文件都没有被上传。我真的不在乎,所以我继续学习教程。即使文件没有出现,仍然将文件推送到 GIT。

重要 我的 Github 存储库只有我第一次创建它时的几个文件,我本地机器上的项目有更多文件。在我能够遵循的教程的最后一章中,它告诉我执行以下命令:

$ git add .
$ git commit -m "Finish layout and routes"
$ git checkout master
$ git merge filling-in-layout

执行完这些命令后,位于本地计算机上的项目丢失了我在过去几天创建的所有文件。我的猜测是 Github 用 Github 上的文件替换了我本地机器上的文件(只是我启动项目时创建的文件)

我想我一直在向本地计算机上的 GIT 添加文件,因为文件夹“~/.git/logs/HEAD”包含我所做的所有提交,看起来像 GIT 文件编号。

任何帮助都会为我节省很多时间。 谢谢,-克里斯

【问题讨论】:

    标签: ruby-on-rails git version-control github


    【解决方案1】:

    您提交了一些更改,然后获取旧版本并通过发出“git mergefilling-in-layout”恢复到旧版本。 (你创建了一个分支“filling-in-layout”)

    无论你做什么都不要 -> git reset --hard

    “git 分支”是怎么说的?

    这样做:

    git checkout master (or one of the others)
    

    看看哪一个是你的。 ;)

    【讨论】:

    • 当我这样做时,会列出 4 件事。填充布局、大师、建模用户(旁边有一个星号)和静态页面
    • 您认为丢失的许多提交似乎很有可能是对那些其他分支进行的,并且仍然存在。使用 gitk 获得一张关于你一直在做什么的可爱图表。
    • 好的,我做了 gitk,打开了 WISH,我丢失的所有文件都列在补丁中,我应该怎么做才能找回它们。另外,当您说 cd 时,您的意思是任何目录。还是某个特定的?感谢您的帮助顺便说一句!
    • 当我执行 'git checkout master' 时,它显示“错误:您对以下文件的本地更改将被结帐覆盖:请先提交您的更改或将它们存储起来切换分支。”感谢您的快速回复,我可以看到我们越来越近了:)
    • stash your changes 的意思是“提交你在当前分支所做的更改”
    【解决方案2】:

    从你的脑海中抹去 github。这是无关紧要的。 git 存储库位于您的机器上,位于您的 rails 应用程序文件夹中。这就是 git 的美妙之处。因此,您在从该文件夹工作时提交给 git 的所有内容都在那里。您可能在此过程中犯了一些错误,或者教程对您的指示不正确,但是您可以使用“git log”查看所有提交,然后回到事情好的地方:签出该提交(因此重现当时的情况),然后从那里重新开始。

    从教学上来说,我建议你不要尝试同时学习 git 和 rails。它们既大又有趣,但它们是完全正交的(这是“它们彼此无关”的花哨说法)。如果你想学习rails,就学习rails。如果你想学 git,就学 git。只是一个建议。

    【讨论】:

    • 根据他的描述,我很确定他使用的是railstutorial.org,,它很好地集成了 git、rails 和 heroku 知识。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-27
    • 2019-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    相关资源
    最近更新 更多