You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git中从分支A创建分支B后未提交变更在A中可见,是否正常?如何处理?

Git分支切换后未提交更改跨分支显示的问题

我的项目包含两个分支:

  • master
  • A

我通过git checkout -b B A命令从分支A创建了分支B。之后我在分支B中进行了一些更改,但这些更改在切换到分支A后也会显示出来。

补充说明:我没有提交分支B中的更改,切换到分支A后能看到这些更改。

问题

  1. 请问这是Git的正常行为吗?
  2. 如果我想让分支B中的更改不显示在分支A中,应该怎么做?

解答

这是Git的正常行为吗?

是正常的。Git里未提交的更改属于工作区或暂存区,并不归属某个特定分支。当切换分支时,只要未提交的更改和目标分支的文件没有冲突,Git会保留这些更改,让它们在新分支中继续可见——本质上这些更改还没被绑定到任何分支,只是存放在本地工作目录和暂存区里。

如何让分支B的更改不显示在分支A中?

有几种可行方案:

  • 提交分支B的更改:在分支B中执行git add .暂存所有更改,再执行git commit -m "描述你的更改"。提交后,这些更改会被记录在分支B的提交历史中,切换到分支A时就不会看到它们了。
  • 暂存分支B的更改:如果不想立即提交,用git stash命令把当前未提交的更改暂时存起来。切换到分支A后,这些更改会被隐藏;之后切回分支B,执行git stash pop就能恢复之前的更改。
  • 创建独立工作区(Git 2.5+):使用git worktree add <新目录路径> B命令,为分支B创建一个独立的工作目录。这样分支B的更改会在单独的文件夹中,和分支A的工作区完全隔离,切换分支时不会互相影响。

内容的提问来源于stack exchange,提问作者Joey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:10:15