嘿那里,我现在撞到墙上已经有一段时间了,我正试图用git branch理解一些东西。
我有一个包含两个分支的存储库。分支A和B,我在我的分支A(尚未提交)中做了一些修改,我想基于A分支创建一个新的分支C.
要做到这一点我正在使用git checkout -b branchC
,当我切换到这个分支C并且我尝试编辑我之前修改过的文件时,新修改也应用于前一个分支。
我确定这不正常,你不同意吗? 我在分支系统上做错了吗?
感谢您的帮助。
答案 0 :(得分:3)
编辑文件时,不会修改分支。您必须首先提交更改,以使它们最终在当前分支上。因此,如果您只是在A和C之间切换,则工作树中的文件仍会列为已修改。
答案 1 :(得分:2)
您所做的修改不属于您正在处理的分支。无论何时切换分支,修改后的未提交文件仍保持已修改但尚未提交。 这是git中的预期行为。对于这个问题,任何其他VCS - 版本控制系统都不会确认您的工作区的更改,直到您告诉他们。在那之前它们是你的mod,而不是VCS。
答案 2 :(得分:0)
如果您因某些原因不想提交更改,可能需要查看“git stash”命令(“git stash --help”或“man git-stash”)。这使您可以将修改后的文件“移开”并切换到不同的分支。