Please commit your changes or stash them before you switch branches

2023-10-14 21:10

本文主要是介绍Please commit your changes or stash them before you switch branches,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

问题描述:

假如现在分支有bug还未解决,现在切换别的分支需要commit,但是你现在不想commit并且切换到别的分支该怎么办
在这里插入图片描述

error: Your local changes to the following files would be overwritten by checkout:readme.txt
Please commit your changes or stash them before you switch branches.(请在切换分支之前提交您的更改或隐藏它们)

解决方法

解决方法:在其他分支上另开炉灶解决。

第一步:git stash把修改的代码存起来,通过git stash list查看存起来的列表
在这里插入图片描述

第二步:把修改的代码存起来后就可以切换到另一个分支了,git checkout XXXX

第三步:切换到另一个分支后,把之前存起来的代码恢复出来:git stash apply,并且把存起来得缓存删掉:git stash drop

在这里插入图片描述

在这里插入图片描述

执行 $ git checkout dev 切换到 dev 分支,这个时候执行 git status 命令仍旧显示没有东西需要提交。毕竟我们前边已经成功将dev上未提交的改动给“隐藏“了,这时,用 $ git stash list 命令去查看我们“存储”的列表。

会发现id 为 8528ea2 s 的储藏项目在列表中,我们需要将其恢复,有两个办法:

一、用 $ git stash apply 命令恢复,但是恢复后,stash内容并不删除,这时候再执行 $ git stash list 命令,id 为 8528ea2 s 的储藏项目还会在列表中,你需要用 $ git stash drop 来删除;
注意: 如果有一个分支上多个 stash,如果需要恢复指定的 stash ,可以在命令尾部加id,如 $ git stash apply stash@{0},同样删除指定 stash 项目则执行如 $ git stash drop stash@{1} 。

二、用 $ git stash pop 命令,恢复的同时把 stash 存储列表的内容也删了。这时候再执行 $ git stash list 命令,id 为 8528ea2 s 的储藏项目不会在列表中。

此时再查看 $ cat 会发现之前的改动还存在,且执行 git status 就会继续显示该分支上有改动未提交。

这篇关于Please commit your changes or stash them before you switch branches的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/213181

相关文章

switch中的break控制

#include<iostream>using namespace std;int main(){int i=10;switch(i){case 9:i+=1;case 10:i+=1;case 11:i+=1;default:i+=1;}cout<<i<<endl;return 0;} 上面的结果是13; #include<iostream>using namespace s

git commit -a

今天提交git时遇到这样一个问题,我在项目里rm掉了许多文件,等到想commit的时候,发现这些被删除的文件都是not staged的状态,这要一个个的去git rm就太蛋疼了。这时候就发现了git commit -a这个命令。 OPTIONS-a, --allTell the command to automatically stage files that have been modif

王立平--switch case

@Override public void onClick(View v) {   switch (v.getId()) { 1. case R.id.btn_addPic: break; 2. case R.id.btn_reflectPic: break; default: break; } } 如果黑色字体的break你忘记了写。。。 那么程序就会从进入swit

兔子-(PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP'

由于在PHP最新的版本中增加了一个配置项目“request_order”,默认值为“GP”,这个存在一定的安全风险。这里我们建议用户将配置更改为“CGP” 可以在php的安装目录下找到php.ini配置目录,找到下面选项: request_order = "GP"  更改为 request_order = "CGP"   重启服务器后即可。 此

Android Switch开关

Switch相关XML 属性 android:checked="true"android:thumb="@drawable/alert_dialog_icon" //开关android:track="@drawable/img1" //开关滑动轨道android:textStyle="bold"android:typeface="monospace"android:switchM

Python中 Switch/Case 实现

学习Python过程中,发现没有switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现。所以不妨自己来实现Switch/Case功能。 方法一 通过字典实现 def foo(var):return {'a': 1,'b': 2,'c': 3,}.get(var,'error') #'error'为默认返回值,可自设置 方法二 通过匿名函数

git查看、修改、删除属性,配置提交commit用户名和邮箱

1. 查看 查看所有 git config --list git config --worktree --list git config --local --list git config --global --list git config --system --list 2. 设置 git config --local user.n

git commit -am

当修改已经通过git add <change file>将其添加到stage,可以通过git commit -m "<message>"为这所有已经进入stage的改变添加一个commit信息。什么是在stage中?看下面 如果你的文件之前已经提交过,但这次的改动还没有进stage,如下: 可以直接使用git commit -am "<message>",将所有修改,但未进s

Mysql中的隐式COMMIT以及Savepoints的作用以及MySQL的Innodb分空间存储、设计优化、索引等几个小知识点整理

一、Mysql中的隐式COMMIT以及Savepoints的作用     Mysql默认是自动提交的,如果要开启使用事务,首先要关闭自动提交后START TRANSACTION 或者 BEGIN 来开始一个事务,使用ROLLBACK/COMMIT来结束一个事务。但即使如此,也并不是所有的操作都能被ROLLBACK,以下语句在执行后会导致回滚失效,比如DDL语句创建一个数据库,而且不止此,这样的语

Oracle 忘了commit

今天在插入数据的时候忘了写commit. 导致后面的插入任务等了好久。