我有一个很大的问题。我正在阅读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文件编号。
任何帮助都会节省我这么多时间。 谢谢,-Chris
答案 0 :(得分:3)
您提交了一些更改,然后获得了旧版本并通过发出“git merge filling-in-layout”恢复了它。 (你创建了一个分支“fill-in-layout”)
无论你做什么都不要 - > git reset --hard
< - 不要。
“git branch”说什么?
这样做:
git checkout master (or one of the others)
看看哪一个是你的。 ;)
答案 1 :(得分:0)
从脑海中删除github。这是无关紧要的。 git存储库位于您的计算机上,位于rails app文件夹中。这就是git的美丽。所以你在该文件夹工作时所做的一切都是git。你可能在整个过程中犯了一些错误,或者教程错误地指示了你,但你可以通过“git log”查看所有提交,然后回到事情好的地方:checkout that commit(重现当时的情况),并从那里再次接受。
教学上我建议你不要试图同时学习git和rails。它们既大又有趣,但它们是完全正交的(这种说法是“它们彼此无关”)。如果你想学习rails,学习rails。如果你想学习git,学习git。只是一个建议。