【问题标题】:Why do I see changes from another branch when I switch to master?为什么我切换到 master 时会看到另一个分支的更改?
【发布时间】:2020-07-29 13:39:33
【问题描述】:

我做了git checkout -b profile 并对该分支进行了一些更改。

我不喜欢这些更改,并希望在不更改 profile 分支的情况下从 master 分支取回我的代码。

但是,当我执行 git checkout master 时,我会看到来自 profile 分支的更改。

有没有办法找回之前的代码?

【问题讨论】:

  • 你能澄清一下“我仍然看到配置文件分支的变化”吗?这是否意味着您仍然可以在编辑器中看到这些更改,或者git status 显示未提交的文件? git checkout . 将丢弃任何未暂存的更改。
  • 我在编辑器中看到它们。
  • 如果您只在编辑器中看到它们,而git status 没有显示任何内容,您可能只需要重新打开文件。如果git status 为空,并且您仍然看到不需要的更改,请确保您在正确的分支上,然后运行git log 以确保您没有意外地对master 进行更改。
  • 如果文件在编辑器中打开,您的编辑器仍然有对它打开的文件的打开引用,而不是git checkout 替换它的文件。也就是说,git checkout 不会就地编辑文件;它使用相同的名称将一个新文件(从存储库中)复制到您的工作目录中。

标签: git github git-branch


【解决方案1】:

您可以看到更改,因为更改未在 profile 分支中提交。

尝试以下命令重置您的master 分支:

git checkout master
git pull
git reset --hard origin/master

它将使用 repo master 重置您的本地 master 分支

除上述之外,您可以从以下命令中删除不需要的更改

git checkout file1name file2name

如果要删除所有未提交的更改,可以使用

git checkout .

【讨论】:

    猜你喜欢
    • 2018-08-11
    • 2017-06-26
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    相关资源
    最近更新 更多