我正在使用主分支和另一个主题分支的git存储库.我已切换到主题分支并修改了一个文件.现在,如果我切换到主分支,则相同的文件显示为已修改.
例如:
git-build分支中的git状态:
# On branch git-build
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: cvsup_current
#
Run Code Online (Sandbox Code Playgroud)
切换到主分支
[root@redbull builder_scripts (git-build)]# git co master
M builder_scripts/cvsup_current
Switched to branch "master"
Run Code Online (Sandbox Code Playgroud)
主分支中的git状态
[root@redbull builder_scripts (master)]# git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: cvsup_current
#
Run Code Online (Sandbox Code Playgroud)
为什么文件在master分支中显示为已修改,即使它在git-build分支中被修改了?
我的理解是,分支是相互独立的,当我从一个分支转换到另一个分支时,变化不会从一个分支"溢出"到另一个分支.所以我显然在这里遗漏了一些东西.
有人拿到了线索吗?
我有两个分支在当地,master和Berislav.后者目前是活跃的,我已经做出了所有的改变.当我尝试结账时master,我收到以下消息:
错误:以下文件的本地更改将被checkout覆盖:[活动分支中更改的文件列表]请提交更改或存储它们,然后才能切换分支.中止
然而,其他的一切我想- ,,commit -告诉我,没有什么承诺(工作目录干净).到达我的分店需要做什么?statusmergemaster
编辑:当我尝试时git stash,我得到:
错误:将未修改的[文件路径]提供给diffcore
对于上面错误中列出的所有文件.
我知道一般的建议是在git中切换分支之前要有一个干净的状态.(藏匿或公园承诺).我想知道我何时会得到"你有本地更改无法切换分支",我无法遵循逻辑:
我有一个repo,文件名为version.txt,包含文本"1":
git checkout -b new
echo 2 >> version.txt(工作目录不脏,修改文件)
git checkout master(这是怎么回事?我没有阶段\提交我对新的更改)
如果我删除新分支中的文件内容,或者首先暂存文件,也会发生同样的情况.
有人可以帮我理解我什么时候会得到"你有本地更改不能切换分支".?
谢谢,冉