git pull之后缺少文件?

时间:2010-07-07 03:42:12

标签: git merge conflict missing-data

我有一个与当前目录中的rails项目相同或类似的遥控器。为了同步这两个,我做

git init
git remote add origin blah@blah
git pull

问题是我在工作副本中添加了一些文件(即不在遥控器中),所以当我这样做时

git status 

它应该显示一堆未跟踪的文件。相反,我看到回购邮件中的文件已过期 为什么不让我解决这些文件中的冲突?我的旧文件在哪里?

3 个答案:

答案 0 :(得分:3)

“git pull”中隐含的合并必须覆盖未提交的本地文件。

我会建议这个序列:

git init
git add .
git commit -m"local"
git remote add origin blah@blah
git fetch origin

此时,请使用“gitk --all”

观察存储库

合并
git merge remotes/origin/master

这应该让你知道冲突,如果有的话。 并且不会覆盖本地文件。

答案 1 :(得分:0)

如果您有本地仓库(带有工作目录),则不需要“git init”任何内容。

git remote add origin blah@blah
git pull

应该足够了。

如果您创建了git init,那么该文件应位于空的存储库中,然后您可以在其中导入主内容“origin”。


  

我没有本地仓库,只有本地文件。

然后您需要先添加它们(请参阅r-mercadoanswer)。

来自git pull man page

  

警告:不鼓励使用未提交的更改运行git pull(实际上,基础git merge):尽管可能,但在发生冲突的情况下,它会使您处于难以退出的状态

答案 2 :(得分:0)

如果在您执行上述命令后尝试执行此操作会怎么样?

git checkout blah
git pull origin blah

我还在学习git,所以我不是积极的,只是一个猜测。 (也可能需要在上面的命令中用blah替换blah@blah。)