搞乱分支,旧的主分支显示来自新分支的文件?

时间:2013-04-05 15:53:52

标签: git version-control github branch git-branch

你可以理解我还在学习Git以及分支是如何工作的。反正:

  1. 我在当地master分支机构工作。
  2. 我创建并切换到新的fcwdetection分支,使用我的IDE添加一些代码,而不是通过命令行。
  3. IDE要求我将我创建的新文件(例如A.php)添加到存储库。我已添加并修改了B.php(已添加)。
  4. 结果master分支(我切换回它)现在A.phpB.phpB.php具有相同的编辑} fcwdetection分支。

    这怎么可能?这是IDE的错误还是我完全误解了分支是如何工作的?

1 个答案:

答案 0 :(得分:1)

您的工作流程似乎正确无误。看起来像IDE中的错误。如果您希望仅在fcwdetection分支中包含已修改的文件,则应在该分支中提交它们。 在命令行中,您可以执行以下操作:

创建分支:

git checkout -b fcwdetection

修改A.php并创建B.php 添加所有文件,包括新的B.phpgit

git add -A .

fcwdetection

中提交他们
git commit -m 'Commit message'

此时如果您回来master,您会看到旧版本的文件:

git checkout master

如果您继续看到A.phpB.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