git - 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
解决方案
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 拒绝合并。这实际上是重要的安全功能,因为如果您以这种方式犯错,您可以中止并重试合并。您可能也必须在推送之前拉取,因为主存储库中还有其他更改。
推荐阅读
- linux - 无法安装 createrepo.noarch
- ssh - 如何通过 sshdump 在远程机器上使用 tcpdump?
- types - 如何按键捕获接口值类型并在泛型函数中使用
- django - 我想调用 {% for element_object %}
- playwright - 自动化:在 Microsoft Playwright 中翻译网页并截取屏幕截图
- json - 成功验证后重定向用户 - Flutter
- css - 如何在真实服务器中管理 x 溢出
- flutter - 如何在按下按钮时添加新容器?
- mysql - “account_id”的默认值无效
- sql - 如何在SQL中删除列标题中的空格