git切换分支后,本地代码会改变吗

这篇具有很好参考价值的文章主要介绍了git切换分支后,本地代码会改变吗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述

今天遇到一个git分支切换的问题,我在分支A上做了修改,然后切换到分支B后,发现分支B上也存在着分支A上的修改。

原因

如果当前分支所做的修改没有提交就切换去其他分支的话,那么也会看到相同的修改

解决方法

解决方法有两种:

方法一:

git addgit commit 提交修改,只要用 git status 检查工作区和暂存区是干净的就可以了。(所谓的干净就是指不显示有修改的痕迹,即git status显示没有内容被修改)

方法二:

如果我当前分支上的工作还没做完,不能提交,但又想去其他分支,这时候可以把当前分支的工作现场隐藏起来。用 git stash 隐藏当前工作现场,这个时候用 git status 查看工作区是干净的,所以就可以放心地去其他分支了。用 git stash list 可以查看隐藏起来的工作现场。

恢复工作现场的两种方法:
1.用 git stash apply 恢复。恢复后,stash list中并不删除恢复的stash,需要用 git stash drop 来删除。
2.用 git stash pop,恢复的同时把stash内容也清空了,这时候再用 git stash list 就看不到stash了。

修改内容时可以多次 stash ,恢复的时候,先用 git stash list查看,然后用 git stash apply stash@{0} 或者 git stash pop stash@{0} 来恢复指定的stash。

总结

1.在没有commit 时(无论有无add),进行切换分支操作后,原分支修改的内容在新分支上也有。

有时候也无法切换分支,原因如切换时会提示会覆盖另一个分支文件的内容。
此时可以强制切换git checkout branchname -f ,但最好不要这么做,否则会丢失之前分支的修改内容,可以先stash或commit,再切换。

2.已经 add 并且 commit 时,进行切换分支操作后,新分支上就看不到原分支修改的内容了。

本质:一个本地的git repo只有一个工作区和暂存区,但是有多个分支的提交区,而我们的checkout只是将HEAD指针从一个分支切换到另一个分支。

参考链接: git切换分支后 本地代码会改变吗.文章来源地址https://www.toymoban.com/news/detail-811331.html

到了这里,关于git切换分支后,本地代码会改变吗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IDEA GIt切换分支报错:Your local changes to the following files would be overwritten by Checkout.

    一、前言 在我们本地有未commit的文件时,使用IDEA切换分支的时候会报如图所示错误: 意思就是对当前分支文件的更改会被Checkout覆盖。可以搁置更改然后签出和取消搁置。 二、解决办法 方案1、将文件commit 方案二、stash方式 三、Git命令 Terminal输入命令如下 推荐使用第二种方

    2024年02月02日
    浏览(49)
  • idea 切换分支smart checkout和force checkout区别

    当我们切换分支时,idea会出现弹框 smart checkout和force checkout. smart checkout 选项会把冲突的这部分内容带到开发分支(如果你没有点进窗口的那些文件处理冲突的话) force checkout 选项不会把冲突的这部分内容带到开发分支,如果直接force checkout会丢失当前分支的未提交的改动!

    2024年02月16日
    浏览(37)
  • git 远程多分支,本地如何切换分支

    1、git clone url 先clone 项目,git branch -a 查看所有分支,发现有多个远程分支 2、假如想在 remote 分支工作,但是本地还没有 remote 分支,可以先输入命令: git  checkout ,不要按回车键,按 Tab 键提示 3、执行命令:git  checkout  remote ,看结果 Checking out files: 100% (1

    2024年02月05日
    浏览(38)
  • 切换分支报错:Untracked Files Prevent Checkout

    新起的项目在切换master分支到工作分支时,出现下图的问题: Untracked Files Prevent Checkout Move or commit them before checkout 网上的解决办法: 大多都是执行git clean -f ,将所有untracked file 一次性删除。 本人发现执行该命令后会把项目的文件删掉,难以达到预期效果。 进入工程所在目

    2024年01月20日
    浏览(34)
  • git 如何切换远程分支到本地进行开发

    正文: 在协作开发或个人项目中,我们通常会使用Git进行版本控制,并针对不同的功能或修复需求创建不同的分支。有时,我们可能需要在本地进行开发或修改,而不希望直接修改远程分支。在这种情况下,我们可以切换远程分支到本地,以便在本地创建一个与远程分支相对

    2024年02月08日
    浏览(41)
  • Git切换分支 更新代码

    问题背景: 工作过程中遇到这么一个问题 之前没有遇到过 随手记录一下 通常git上一般有很多分支,我们clone到本地的时候一般都是master分支,但是如果需要切换到其他分支应该怎么做呢? 问题解决: 1.首先从远程仓库克隆代码,从远端拉取的代码一般都是master分支上的代

    2024年02月11日
    浏览(31)
  • git的本地分支如何关联远程分支,比如github,gitlab,码云等

    今天发布某版本的项目,准备创建个 v0point1 分支,后期如果修改该版本,直接在该分支上修改即可。 首先,使用 git branch v0point1 命令,创建本地分支 v0point1 ,如下图所示: 其次,使用 git checkout v0point1 命令,切换到 v0point1 分支,如下图所示: 当然,我们也可以使用 git ch

    2024年02月13日
    浏览(53)
  • 用git在本地仓库创建一个新的分支,并且将当前分支切换到新创建的分支上

    1 用下面的命令创建本地仓库的新分支 2 用下面的命令将当前分支切换到新创建的分支上  注意:下面的chatGPT说的是错的,正确的命令是git checkout -b  3 可以用简写的方式,可以同时实现创建本地分支和切换到新创建的分支上

    2024年02月09日
    浏览(47)
  • git分支切换提示签出会覆盖本地更改该怎么办

    适用于我在dev分支修改了一些文件,但是不想提交的时候,还需要切换到别的分支处理一些代码,vscode会提示改信息,此时需要我们 git stash 将本地分支修改的内容隐藏起来,同时会看到我们隐藏的信息 恢复的话只需要我们git stash apply恢复,但是恢复后,stash 内容并不删除

    2024年02月06日
    浏览(44)
  • git切换分支,暂存修改代码

    我们在使用git时,经常出现需要切换分支的情况,如果本地分支有文件修改就需要暂存代码

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包