繁体   English   中英

提交没有github上的存储库?

[英]Commits without repository on github?

我一直在遵循有关如何在Rails中构建博客的教程,现在我陷入困境,想访问GitHub上的先前提交。 我是GitHub的新手,并假设在教程中每次开发人员要将进度保存到GitHub时,他都会调用

$ git status
$ git add .
$ git commit -am "some info about the current commit"

将他的项目保存在某个状态。 好吧,我一直在这样做,现在已经到了我的项目中断的地步,想将其恢复到工作时的最后一次提交。 我调用了:

$ git log

commit 7f6dd520095ead774a8e612048f52ee11fdfe154
Author: danny rosenfeld <dannyseniorproject@gmail.com>
Date:   Sat Sep 19 17:21:56 2015 +0300

    Add pages

commit b84c3a601aeacdacbd2a8c71b85e1236554a1275
Author: danny rosenfeld <dannyseniorproject@gmail.com>
Date:   Sat Sep 19 16:49:24 2015 +0300

    add comments

commit 5822d7c90d15696536d30d531f424863d58de6c7
Author: danny rosenfeld <dannyseniorproject@gmail.com>
Date:   Sat Sep 19 16:15:33 2015 +0300

    Edit and delete posts

它表明我的提交存在。 现在如何访问它们? 我不相信我已经创建了特定的存储库,但是显然这些提交存在。

您可以访问任何州

git checkout <sha>

其中<sha>是您的提交哈希之一。 Git会找到任何唯一的前缀,因此您通常会看到人们仅使用前6或7个字符。 7f6dd52 如果您想回到原来的位置,请使用

git checkout <branch>

其中<branch>可能是master ,除非您签出了另一个。

如果要将存储库重置为该状态,请签出要更改的分支,然后运行

git reset <sha>

默认情况下, reset使用--mixed选项,该选项将分支设置回该提交,但不--mixed文件内容。 从那里,您可以重新提交想要的作品。 如果要放弃当前状态,请指定--hard ,Git将使您的存储库看起来与您指定的SHA完全相同。

如果只想扔掉尚未提交的代码,最简单的方法是

git checkout .

这会将每个跟踪的文件重置为上一次提交时的状态。

签出所需的提交后,就可以像创建其他目录一样创建副本或目录。 您的副本将包含.git/文件夹,因此它实际上将是存储库的另一个副本。 如果要从存储库中完全离婚,请在副本中删除.git/

由于您提到“我不相信我已经创建了特定的存储库”,因此请记住,Git是独立于GitHub的工具。 一旦使用git init ,便有了一个存储库,以后您可以在GitHub上添加要push送到的remote服务器。 在推送到远程之前,您的存储库在本地存在并具有完整的历史记录。 拥有像GitHub这样的远程服务器对于冗余和作为始终可用的服务器与他人协作非常有用。

您可能会喜欢的一些相关文档:

您可以使用以下命令将文件重置为上一次提交

git reset --hard HEAD

自上次提交跟踪文件以来,您所做的所有更改都将丢失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM