你可以理解我还在学习Git以及分支是如何工作的。反正:
master
分支机构工作。fcwdetection
分支,使用我的IDE添加一些代码,而不是通过命令行。A.php
)添加到存储库。我已添加并修改了B.php
(已添加)。 结果是master
分支(我切换回它)现在A.php
而B.php
与B.php
具有相同的编辑} fcwdetection
分支。
这怎么可能?这是IDE的错误还是我完全误解了分支是如何工作的?
答案 0 :(得分:1)
您的工作流程似乎正确无误。看起来像IDE中的错误。如果您希望仅在fcwdetection
分支中包含已修改的文件,则应在该分支中提交它们。
在命令行中,您可以执行以下操作:
创建分支:
git checkout -b fcwdetection
修改A.php
并创建B.php
添加所有文件,包括新的B.php
到git
:
git add -A .
在fcwdetection
:
git commit -m 'Commit message'
此时如果您回来master
,您会看到旧版本的文件:
git checkout master
如果您继续看到A.php
和B.php
的修改版本,您应该检查其状态,它们是否已添加到index
?我这么说beause git
不允许你使用修改过的非提交文件从分支切换到另一个分支,在命令行中你得到这个错误:
error: Your local changes to the following files would be overwritten by checkout:
[some files]
Please, commit your changes or stash them before you can switch branches.
Aborting