3

我有一个很大的问题。我正在阅读 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 文件编号。

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

4

2 回答 2

3

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

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

“git分支”说什么?

做这个:

git checkout master (or one of the others)

看看哪一个是你的。;)

于 2012-09-16T02:46:32.567 回答
0

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

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

于 2012-09-16T02:49:49.170 回答