我正在分支上,并且我想回到主目录,而忽略了我在分支上所做的所有更改

问题描述 投票:0回答:1

我昨天在一家分支机构工作,出于第二个想法,我想尝试一种完全不同的方法。这意味着要回到master恢复我的原始代码,然后从新分支开始。事实证明,我的master分支将对代码所做的所有更改都保留在该分支中。据我了解,这是因为我没有提交我的分支,对吗?

基本上,git只会在提交分支后才对分支进行“验证”,否则就好像您仍在master上工作,对吗?

git merge branch commit master
1个回答
0
投票

假设您从已提交的master分支创建了一个分支(temp_work),并在temp_work分支中工作。现在您尚未提交temp_work,您想回到master分支,而忽略temp_work中完成的工作。

------> master
           \
            \-----> temp_work
                          ^
                          |
                        Head

如果您在不提交temp_work的情况下切换回master,则所有更改也将在master分支中可见。这是因为您没有在临时分支中提交。

要切换为原始的master分支内容而不考虑temp_branch中的所有更改,您可以通过两种方式进行

解决方案1

  • 完成临时工作。
git add .
git commit -m "temp_work"
  • 切换到主分支

git checkout master

  • 删除临时工作分支

git branch -D temp_work

解决方案2(我使用的那个)

  • 切换到temp_work分支

git checkout temp_work

  • 暂存所有更改并存储所有更改
git add .
git stash
  • 切换到主分支

git checkout master

  • 删除最先保存的作品

git stash drop

© www.soinside.com 2019 - 2024. All rights reserved.