更好地了解GIT中的分支

3
我对版本控制不太熟悉,有一个关于分支的问题。 我有以下分支 - "dev"和"master" 假设我在dev中添加或修改文件,运行"git status"将显示我所做的更改。 现在,如果我切换到“master”分支,运行“git status”时也会看到待处理的更改。 这是正确的吗?但是,一旦我运行“git commit ...”,我将得到与我提交的特定分支相关的提交消息。
我认为并希望每个分支都是不同的。看起来确实是这样,但如果我在来回切换时提交到错误的分支,我可能会感到困惑。
2个回答

5

现在,如果我切换到"master"分支,运行"git status"时也会看到待提交的更改。这是正确的吗?

是的。您还没有提交更改。Git允许您在一个分支被检出时开始处理文件,然后(除非有冲突)在提交之前切换到另一个分支,以便您可以将更改提交到该分支。


这个有改变吗?(参见https://dev59.com/EEXRa4cB1Zd3GeqPtqx0)也许可以配置? - Douglas Leeder
1
这就是我所说的“除非没有冲突”的意思:如果你在工作树中有本地(未提交的更改)修改与你要切换到的分支中文件状态发生冲突,Git 将不会让你切换分支;你需要先使用 git stash 命令将其存储,然后再切换到该分支,并取消存储本地修改。 - mipadi

3
Git Magic中,Ben Lynn似乎建议你在切换分支之前执行git commit -a,这正是为了这个原因。
你可以使用git stash来保存你的更改而不进行提交。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接