首页 > 解决方案 > git中的闹鬼图像

问题描述

我已经在我的项目解决方案中上传了新图片。它们被提交并推送到我的 bitbucket 存储库。

现在,每次我提交本地更改(与以前上传的图像完全无关)后,当我想要拉或推时,我都会遇到 git 错误:

在此处输入图像描述

我被卡住了,因为我无法推动或拉动,并且我所有的本地更改都已提交。

为什么这些已经推送的图像文件总是出错?

我尝试删除和读取图像,重命名图像重新提交,但我仍然遇到此错误。

我以前没有遇到过这些错误,而且我已经在同一个环境中工作了多年。

提前致谢!

编辑

输出 git 状态:

Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        new file:   application/helpers/datetime_helper.php
        new file:   design/img/interesses/neigborhood/borrow_items.svg
        new file:   design/img/interesses/neigborhood/care_job.svg
        new file:   design/img/interesses/neigborhood/childcare.svg
        new file:   design/img/interesses/neigborhood/coffee_chats.svg
        new file:   design/img/interesses/neigborhood/crea_and_manual_work.svg
        new file:   design/img/interesses/neigborhood/culture_trip.svg
        new file:   design/img/interesses/neigborhood/cycling.svg
        new file:   design/img/interesses/neigborhood/day_trip.svg
        new file:   design/img/interesses/neigborhood/game_or_cards.svg
        new file:   design/img/interesses/neigborhood/garden_job.svg
        new file:   design/img/interesses/neigborhood/gardening_together.svg
        new file:   design/img/interesses/neigborhood/groceries.svg
        new file:   design/img/interesses/neigborhood/it_job.svg
        new file:   design/img/interesses/neigborhood/make_music.svg
        new file:   design/img/interesses/neigborhood/neighbor_party.svg
        new file:   design/img/interesses/neigborhood/neighborhood_project.svg
        new file:   design/img/interesses/neigborhood/other_sports.svg
        new file:   design/img/interesses/neigborhood/pet_sitters.svg
        new file:   design/img/interesses/neigborhood/practical_job.svg
        new file:   design/img/interesses/neigborhood/receive_mail.svg
        new file:   design/img/interesses/neigborhood/teaching.svg
        new file:   design/img/interesses/neigborhood/technical_job.svg
        new file:   design/img/interesses/neigborhood/transport.svg
        new file:   design/img/interesses/neigborhood/walking.svg

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    design/img/interesses/neigborhood/borrow_items.svg
        deleted:    design/img/interesses/neigborhood/care_job.svg
        deleted:    design/img/interesses/neigborhood/childcare.svg
        deleted:    design/img/interesses/neigborhood/coffee_chats.svg
        deleted:    design/img/interesses/neigborhood/crea_and_manual_work.svg
        deleted:    design/img/interesses/neigborhood/culture_trip.svg
        deleted:    design/img/interesses/neigborhood/cycling.svg
        deleted:    design/img/interesses/neigborhood/day_trip.svg
        deleted:    design/img/interesses/neigborhood/game_or_cards.svg
        deleted:    design/img/interesses/neigborhood/garden_job.svg
        deleted:    design/img/interesses/neigborhood/gardening_together.svg
        deleted:    design/img/interesses/neigborhood/groceries.svg
        deleted:    design/img/interesses/neigborhood/it_job.svg
        deleted:    design/img/interesses/neigborhood/make_music.svg
        deleted:    design/img/interesses/neigborhood/neighbor_party.svg
        deleted:    design/img/interesses/neigborhood/neighborhood_project.svg
        deleted:    design/img/interesses/neigborhood/other_sports.svg
        deleted:    design/img/interesses/neigborhood/pet_sitters.svg
        deleted:    design/img/interesses/neigborhood/practical_job.svg
        deleted:    design/img/interesses/neigborhood/receive_mail.svg
        deleted:    design/img/interesses/neigborhood/teaching.svg
        deleted:    design/img/interesses/neigborhood/technical_job.svg
        deleted:    design/img/interesses/neigborhood/transport.svg
        deleted:    design/img/interesses/neigborhood/walking.svg

标签: gitversion-controlbitbucket

解决方案


Git 具有这个独特的功能,您可以在其中逐步组合提交的内容。不幸的是,他们甚至无法就名称达成一致,因此它被交替称为“阶段”、“索引”和“缓存”。那是使用git add命令添加文件的地方。

IDEA Git 插件试图对你隐藏它,因为它增加了复杂性,而且最初为其他版本控制系统设计的 UI 没有很好的方式来显示它。但是您的工作目录处于需要您处理它的状态。

标准的 Git GUI(只需从命令行git gui在您的工作树中运行)是访问提交创建的所有功能的好方法,或者您可以使用具有相应对话框的其他 GUI 之一(例如 git 扩展) . 如果我没记错的话,IDEA 插件没有它,所以你需要一些东西。

现在你的问题是什么:似乎你已经添加了要提交的图像,当 Git 抱怨它们在拉取时发生冲突时,只是将它们从磁盘中删除。但是由于它们已经被“添加到版本控制中”,即在 Git 术语中“暂存”,Git 仍然记得它们并且现在对它们有更大的问题。你可以

  • 打开git gui并通过单击图标将它们从左下角窗口赶走(文件在 Git GUI 中通过单击它们的图标来暂存和取消暂存,而单击它们的名称会显示更改(对于文本文件);它快速而简单,但根本无法发现)。
  • 从命令行执行git reset HEAD design/img/interesses/neigborhood/(因为状态输出表明试图提供帮助,但由于不熟悉的术语“unstage”而失败)

你还有一个文件暂存,application/helpers/datetime_helper.php所以你必须在拉取之前提交它(或者像图标一样重置,如果这不是你的意思),因为当有本地更改时 Git 拒绝合并。这实际上是重要的安全功能,因为如果您以这种方式犯错,您可以中止并重试合并。您可能也必须在推送之前拉取,因为主存储库中还有其他更改。


推荐阅读