git pull --rebase 做了什么? 以及 Cannot rebase: You have unstaged changes 解决办法

最近刚学 git rebase,觉得很牛逼的样子, 结果今天就被打脸了。

git pull --rebase

报错:

Cannot rebase: You have unstaged changes
Please commit or stash them.

第一反应是: 不!可!能!刚才明明提交了啊!!怎么还有修改!歇斯底里了!

最后用 git status 一看:

。。。。

我错了。。。 接个电话,把删了个文件这件事忘记了 - -。

总结:

1.git pull –rebase 理解

这个命令做了以下内容: a.把你 commit 到本地仓库的内容,取出来放到暂存区(stash)(这时你的工作区是干净的) b.然后从远端拉取代码到本地,由于工作区是干净的,所以不会有冲突 c.从暂存区把你之前提交的内容取出来,跟拉下来的代码合并

所以 rebase 在拉代码前要确保你本地工作区是干净的,如果你本地修改的内容没完全 commit 或者 stash,就会 rebase 失败。

2.还是要听 git 提示的话,要理智,有什么不清楚的,就输入

git status

根据人家提示的来,该提交的提交,stash 的 stash。

3.删除文件后需要 git add -A, 光 git add. 不行,区别如下:

git add 的几种参数区别

git add -A 保存所有的修改 git add . 保存新的添加和修改,但是不包括删除 git add -u 保存修改和删除,但是不包括新建文件。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习与计算机视觉

Python 新建文件夹与复制文件夹内所有内容

在指定路径下新建一个文件夹: import os def newfile(path): path=path.strip() path=path....

1926
来自专栏CaiRui

Python之简单的用户登录和注册

#!/bin/bash/env python # -*- coding:utf-8 -*- def login(username,password): ...

22510
来自专栏性能与架构

nginx rewrite

rewrite的作用 rewrite可以实现url的重定向,把用户请求的url转发到另一个url,但用户浏览器地址并不改变 例如常用的伪静态化,就是通过rewr...

3555
来自专栏lgp20151222

idea报错:Error running $classname: Command line is too long. Shorten command line for $classname.

打印的变量太长了,超过了限制,这都会报错...我只想知道idea基于什么原理会报这个错...

4943
来自专栏mwangblog

Linux中的管道命令(一)

1594
来自专栏dizhiling专栏

一行命令实现cpu占用率100%

cat /proc/cpuinfo |grep "physical id" | wc -l 可以获得CPU的个数, 我们将其表示为N.

1011
来自专栏Hongten

php开发_多关键字,高亮显示

================================================================

911
来自专栏前端知识分享

Vue---从后台获取数据vue-resource的使用方法

  作为前端人员,在开发过程中,我们大多数情况都需要从后台请求数据,那么在vue中怎样从后台获取数据呢?接下来,我简单介绍一下vue-resource的使用方法...

2071
来自专栏Python小屋

Python多线程编程中daemon属性的作用

在脚本运行过程中有一个主线程,若在主线程中创建了子线程,当主线程结束时根据子线程daemon属性值的不同可能会发生下面的两种情况之一: 如果某个子线程的daem...

3335
来自专栏DannyHoo的专栏

APNS推送原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/de...

1753

扫码关注云+社区