我从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外,我还没有做太多。