Android Git 拉取代码报错:error: cannot pull with rebase: Your index contains uncommitted changes.

简介: 造成原因:在使用Android Studio中Git的Commit Directory 将本地更改的代码保存到本地后,点击commit,发现提交不上去,发现本地有代码,这时候拉取代码,报错:cannot pull with rebase: Your index contains uncommitted changes.表示我的索引有未提交的改变

造成原因:在使用Android Studio中Git的Commit Directory 将本地更改的代码保存到本地后,点击commit,发现提交不上去,发现本地有代码,这时候拉取代码,报错:cannot pull with rebase: Your index contains uncommitted changes.表示我的索引有未提交的改变


解决办法:


打开Android Studio的Terminal控制台,


依次输入指令:


1.git stash


能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。意思就是把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的)


2.git pull --rebase


从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突


3.git stash pop(git stash apply)


从暂存区把你之前提交的内容取出来,跟拉下来的代码合并



1.git stash pop :会将当前stash中的内容弹出,并应用到当前分支对应的工作目录上。该命令将堆栈中最近保存的内容删除(栈是先进后出),这样有时候会发现代码没了。


保守点可以用:git stash apply :将堆栈中的内容应用到当前目录,不同于git stash pop,该命令不会将内容从堆栈中删除,也就说该命令能够将堆栈的内容多次应用到工作目录中,适应于多个分支的情况。


2.如果使用 git stash pop 后有冲突时,如何撤销?


可以使用 git reset --hard ,即可撤销 git stash pop 操作,将当前分支状态恢复。


而该操作后,git stash 暂存区的记录也不会被删除,可通过 git stash show 查看。


流程图:借用一张流程图

c82072e95b6b81bf9b617a2bb4fe33d.png



还可以应用的场景:


1.git stash这种可以把代码暂时保存在本地且使得工作区干净的效果,可以让自己在工作中实现在未完成某个分支工作时,切换到其他分支去修复bug这种操作


2.有一次我登录模块的功能写在master分支了,但是代码只写了一半,又不敢提交,这时候就可以先用stash保存到本地,然后切分支,在用git stash apply把代码合并到想要的分支



平时用工具的可视化操作界面太多了,出点问题还是得去查,这里记录一下,以后可以自己方便来看。

————————————————


相关文章
|
3月前
|
网络安全 图形学 Android开发
Unity与安卓丨AS报错:SSL peer shut down incorrectly
Unity与安卓丨AS报错:SSL peer shut down incorrectly
Unity与安卓丨AS报错:SSL peer shut down incorrectly
|
3月前
|
Android开发 Docker 容器
docker中编译android aosp源码,出现Build sandboxing disabled due to nsjail error
在使用Docker编译Android AOSP源码时,如果遇到"Build sandboxing disabled due to nsjail error"的错误,可以通过在docker run命令中添加`--privileged`参数来解决权限不足的问题。
664 1
|
3月前
|
开发工具 图形学 Android开发
Unity与安卓丨unity报错:SDK Tools version 0.0 < 26.1.1
Unity与安卓丨unity报错:SDK Tools version 0.0 < 26.1.1
|
3月前
|
API Android开发 图形学
UNITY与安卓⭐三、安卓报错答疑合集
UNITY与安卓⭐三、安卓报错答疑合集
|
3月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
492 1
|
3月前
|
Android开发
解決Android报错:Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
解決Android报错:Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
108 1
|
3月前
|
Java 开发工具 Android开发
Android Studio利用Build.gradle导入Git commit ID、Git Branch、User等版本信息
本文介绍了在Android Studio项目中通过修改`build.gradle`脚本来自动获取并添加Git的commit ID、branch名称和用户信息到BuildConfig类中,从而实现在编译时将这些版本信息加入到APK中的方法。
78 0
|
开发工具 Android开发 数据安全/隐私保护
Android Studio关联Git及使用
Android Studio关联Git及使用
759 0
Android Studio关联Git及使用
|
3天前
|
开发框架 前端开发 Android开发
安卓与iOS开发中的跨平台策略
在移动应用开发的战场上,安卓和iOS两大阵营各据一方。随着技术的演进,跨平台开发框架成为开发者的新宠,旨在实现一次编码、多平台部署的梦想。本文将探讨跨平台开发的优势与挑战,并分享实用的开发技巧,帮助开发者在安卓和iOS的世界中游刃有余。
|
8天前
|
搜索推荐 Android开发 开发者
探索安卓开发中的自定义视图:打造个性化UI组件
【10月更文挑战第39天】在安卓开发的世界中,自定义视图是实现独特界面设计的关键。本文将引导你理解自定义视图的概念、创建流程,以及如何通过它们增强应用的用户体验。我们将从基础出发,逐步深入,最终让你能够自信地设计和实现专属的UI组件。