结帐时仍然存在未经修改的更改,不会生成任何警告

时间:2016-04-06 22:17:26

标签: git version-control

我从git那里得到了一些奇怪的行为。以前,如果我在branch_A上做了一些更改,没有提交,并且尝试了git checkout branch_B,我会先发出警告提交或存储我的更改,然后在我这样做之后,我可以结帐{{ 1}}它工作正常。

突然之间,这已经以一些令人痛苦的方式停止了工作。这就是我的意思:

我对branch_B进行了未经修改的更改,例如

branch A

因此,当我尝试这样做时,它不应该工作,但确实如此:


(venv) Georges-MacBook-Pro% git branch
* branch_A
  branch_B
(venv) Georges-MacBook-Pro% git status
On branch branch_A
Changes to be committed:
  (use "git reset HEAD ..." to unstage)

    modified:   file1.py

Changes not staged for commit:
  (use "git add ..." to update what will be committed)
  (use "git checkout -- ..." to discard changes in working directory)

    modified:   file2.py

Untracked files:
    ...

(venv) Georges-MacBook-Pro% git diff
diff --git a/file2.py b/file2.py
index 62a513c..da6dbc5 100644
--- a/file2.py
+++ b/file2.py
@@ -33,7 +33,7 @@ def foo():

 @pytest.fixture
 def foo():
-    f = "old_string"
+    f = "new_string"
     return f

(venv) Georges-MacBook-Pro% git checkout branch_B M file1.py M file2.py Switched to branch 'branch_B' Your branch is up-to-date with 'origin/branch_B'. git status看起来完全一样。他们无疑不应该这样做。

我真的很感激我对搞砸了什么以及如何解决它的任何见解。我对git相对较新,除了非常基本的拉式结账-b外,我还没有做太多。

0 个答案:

没有答案