git拉取了一些文件后出现“Aborting”错误

7

我使用git进行版本控制,现在我想从服务器上拉取代码。当我运行'git pull origin master'后,拉取了一些文件后它显示'Aborting'。这是怎么回事呢?我已经使用git工作了三个月了,但从来没有出现过这种情况。是否有某些文件损坏了?

此外,由于并未拉取所有文件,因此无法进行'git push'。

就像这样:

 * branch            master     -> FETCH_HEAD
error: The following untracked working tree files would be overwritten by merge:
    sites/all/modules/examples/form_example/form_example_tutorial.inc
    sites/all/modules/examples/form_example/form_example_wizard.inc
    sites/all/modules/examples/image_example/image_example.info
    sites/all/modules/examples/image_example/image_example.install
    sites/all/modules/examples/image_example/image_example.module
    sites/all/modules/examples/image_example/image_example.pages.inc
    sites/all/modules/examples/image_example/image_example.test
    sites/all/modules/examples/js_example/accordion.tpl.php
    sites/all/modules/examples/js_example/css/jsweights.css
    sites/all/modules/examples/js_example/js/ajaxy.js
    sites/all/modules/examples/js_example/js/black.js
    sites/all/modules/examples/js_example/js/blue.js
    sites/all/modules/examples/js_example/js/brown.js
    sites/all/modules/examples/js_example/js/green.js
    sites/all/modules/examples/js_example/js/purple.js
    sites/all/modules/examples/js_example/js/red.js
    sites/all/modules/examples/js_example/js_example.info
    sites/all/modules/examples/js_example/js_example.module
    sites/all/modules/examples/menu_example/menu_example.info
    sites/all/modules/examples/menu_example/menu_example.module
    sites/all/modules/examples/menu_example/menu_example.tes
Aborting

如果您能够粘贴包括错误信息在内的完整的 git pull 输出,那将会非常有帮助。 - Mark Longair
2个回答

10

所有列出的文件在您的本地分支中都未被跟踪,因此如果您进行合并,对这些文件所做的任何更改都将被永久丢失。因此,git不允许您执行合并操作。

要解决此问题,请从您的工作目录中删除所有这些文件,或者根据您是否想保留对它们的本地更改来添加和提交它们。


3
有没有一种Git命令可以直接告诉它:“我不在乎这些文件,用远程版本覆盖它们”? - Endophage
2
git clean -n 命令会执行干运行 (-n) 的清理操作,该操作将从本地副本中删除所有未跟踪的文件。如果您同意,请使用 git clean -d 命令实际删除这些文件;然后 git fetch 或 git pull 命令将成功执行。(http://blog.saltriversystems.com/2011/11/git-untracked-files-problem/) - Paul Calabro
1
如果您已经添加了文件,可以执行 git reset --hard master 将本地仓库重置为最后一次拉取或合并(在 master 分支上)。之后它应该可以通过,如果不能,您也可以尝试像 PaulCalabro 建议的那样清理存储库。我刚刚在这里尝试了一下,它可以工作,而之前我遇到了 OP 中列出的神秘中止问题。 - JVE999

0

本地分支是否被跟踪?在.git文件夹中有一个配置文件:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = //cunim/Repositories/AvaPA.git
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "dev"]
    remote = origin
    merge = refs/heads/dev

必须为您所在的分支创建一个条目,才能将其推回

这里有一组关于Git的视频教程,我们发现非常有帮助

http://www.ava.co.uk/git


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