Github:远程创建README文件,不会下拉到本地仓库

时间:2017-09-02 06:00:16

标签: git github git-pull git-extensions

我注意到在Github网站上浏览一个回购时没有Readme.md文件,Github建议我做一个。所以我做到了。

在Web界面中添加Readme.md文件并提交到dev分支后,我回到本地仓库,将Readme下拉并更新以包含最新提交。我确实在working directory中进行了一些更改,但在index中没有任何更改。我需要从另一个分支进行更改,因此我隐藏了更改并在dev上结帐。在Git Extensions中,我可以看到远程origin/dev分支提前提交,所以我运行了一个git pull to fastforward to Readme.md commit。这一切似乎都有效。

但是,此时我发现了一个问题 - git status显示:

  

已删除:README.md

所以,git知道这个提交应该是README.md,但它不在工作目录中。我用Windows资源管理器检查了wd,README.md不在根目录中。我在Github上查了一下,就在那里。我查看了"文件树"在Git Extensions中,它也在那里。但它并没有在文件夹中的计算机上,并且git知道它不在那里。我重新考虑git pullgit fetch,并尝试阅读git fetch --helpgit pull --help手册页,并尝试了一些命令,但没有任何内容可以删除我README.md可以找到。

问题:如何下拉远程添加的文件?

我可以手动下载文件并将其放在文件夹中,但我想知道如何正确地执行此操作。关于发生了什么的解释的额外点。谢谢!

1 个答案:

答案 0 :(得分:1)

当LightBender在评论中询问完整的git状态时,我发现了问题,而不是删除问题,我将在此处发布根本原因和解决方案。

在结帐dev之前,我隐藏了master上的更改,但随后我在dev上取消了这些更改,计划在下拉{{1}后将其添加到新的提交中来自遥控器。

事实证明,存储以某种方式意识到README.md没有README.md,因此当我在master之后将存储应用于dev时,实际上已删除了文件。怀疑这一点,我重新修改了更改,git pull的删除消失了(来自README.md),之后新的git status确实正确拉git pullREADME.md下到我的工作目录。我没有意识到origin/dev会删除删除以及添加和更改......

所以,问题出现了,因为我最初隐藏了git stash之后的更改,并且这些更改不应该首先在master上进行。作为一个新手,我忘记了流动。了解这种行为以供将来参考仍然很好。

我能够在dev上简单地解压缩(不确定用于unstash的git命令 - 我使用Git Extensions),然后从{{1}挑选新的master提交转到README.md