Git 显示相同更改的主控和分支

Git 显示相同更改的主控和分支,git,Git,我仍然在学习Git的过程中,当我觉得我已经掌握了它的全部…我遇到了一个问题,这让我觉得自己又是一个新手 我有一个主分支和一个分支。由于某些“天知道”的原因,当我在两个分支上执行“Git状态”时,它们显示相同的更改 当我将这些更改提交给其中一个时,我在另一个中看不到它们 Master*: Git status On branch Master Changes not staged for commit: modified: Config/A.txt Untracked files

我仍然在学习Git的过程中,当我觉得我已经掌握了它的全部…我遇到了一个问题,这让我觉得自己又是一个新手

我有一个主分支和一个分支。由于某些“天知道”的原因,当我在两个分支上执行“Git状态”时,它们显示相同的更改

当我将这些更改提交给其中一个时,我在另一个中看不到它们

Master*: Git status
On branch Master
Changes not staged for commit:
      modified:   Config/A.txt 
Untracked files:
       logs/B.txt


**Branch-1*: Git status**
On branch Branch-1
Changes not staged for commit:
      modified:   Config/A.txt 
Untracked files:
       logs/B.txt   

你是上帝,有一段时间,:)

我猜你正在从一个分支切换到另一个分支并运行状态,对吗?当您的工作树上有未提交的更改,并且您要求git切换时,git会将更改提交给您签出的另一个分支(至少它会尝试这样做)。它会执行一些检查,如果更改不能正确应用于另一个分支,则开关会被中断。

如果您不进行提交并转到签出主机(或其他分支),git将在两个分支中显示相同的更改。但是当您进行提交时,这些更改不会在其他分支中显示,而只在您工作的分支中显示。

您还没有提交这些更改。你甚至还没有为提交准备好它们。我希望你不会采取错误的方式,但是这个问题确实表明你是git的新手。Edmundo对git将要做什么的描述是准确的;但您真正需要做的是熟悉git的概念,如工作树、索引和数据库与添加/暂存、提交、分支等的关系。在内部,git与大多数版本控制系统不同,在您了解其基本原理之前,其行为将非常神秘。@torek您的意思是,如果文件发生任何更改,当Branch-A签出且尚未暂存时,Branch-B也可以暂存并提交?.Sry我来自TFS背景,还没有调整到GIT架构。这比这更复杂,因为在任何时候,每个可用文件都有三个“当前”版本:
HEAD
commit版本(只读,不能更改)、索引或暂存区版本以及工作树版本。各种命令可以从任何提交的版本复制到索引和/或工作树,或者从索引复制到工作树或从工作树复制到索引。
git checkout
…非常复杂(太复杂,无法放入注释!).“它会执行一些检查,如果更改不能正确应用于另一个分支,则开关会被中断”…您能举个例子吗?@raj'sCubicle-例如,如果签出将修改您有未签出更改的文件,则默认情况下签出将出错