GIT删除了我的本地文件。

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文件编号一样的东西。
任何帮助都可以为我节省很多时间。 谢谢,-Chris
2个回答

3

您提交了一些更改,然后通过发出“git merge filling-in-layout”(您创建了一个名为“filling-in-layout”的分支)获取旧版本并还原到它。

无论您做什么,都不要执行以下操作 -> git reset --hard <- 不要这样做。

“git branch”显示什么?

请执行以下操作:

git checkout master (or one of the others)

找到属于你的那一个。 ;)


1
看起来你认为缺失的很多提交是在其他分支上进行的,而且仍然在那里。使用gitk获取你所做的操作的可爱图表。 - matt
好的,我执行了gitk命令,然后打开了WISH界面,所有我缺失的文件都在补丁中列出了,我该怎么做才能把它们找回来呢?另外,当你说cd <some_other_dir>时,你是指任何目录还是特定的一个目录?顺便说一下,感谢你的帮助! - Chris Frank
将您的更改储存起来意味着“提交您在当前分支所做的更改”。 - Gung Foo
我应该在'git checkout'之前执行'git commit -m“whatever”'吗? - Chris Frank
是的,“完成当前分支”,这是您调用合并创建的。 - Gung Foo
显示剩余14条评论

0
把 Github 从你的脑海中抹掉,它是无关紧要的。Git 存储库在你的机器上,位于你的 Rails 应用程序文件夹内。这就是 Git 的美妙之处。因此,你在那个文件夹中工作时提交到 Git 的所有内容都在那里。可能你在途中犯了一些错误,或者教程给出的指导不正确,但你可以使用 "git log" 查看所有提交记录,然后回到事情还好的那个点:检出该提交(从而重新创建当时的情况),然后从那里继续。
从教学角度来看,我建议你不要同时学习 Git 和 Rails。它们都很大且有趣,但它们完全正交(这是花言巧语,意思是它们彼此没有关系)。如果你想学习 Rails,就学习 Rails。如果你想学习 Git,就学习 Git。只是一个建议。

根据他的描述,我很确定他正在使用railstutorial.org,这个网站很好地整合了git、rails和heroku的知识。 - Christopher

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接