切换分支时如何停止git自动更新?

时间:2020-05-13 11:40:11

标签: git git-checkout

我有两个分支:

----master
  |
  |----lf

我在分支机构lf中开发了一些新功能,并获得了一些输出。然后,我尝试切换回master(通过git checkout)并执行程序以比较结果。不幸的是,git checkout master将更新我在lf中所做的事情:

M   Makefile
M   src/mainloop.c
M   src/threadpool.c
M   src/threadpool.h
Already on 'master'
Your branch is up to date with 'origin/master'.

结果,我在两个分支中得到了完全相同的项目。这不是我想要的。我不希望主人自动更新在lf中所做的更改。

我的问题是:

  1. 在分支(master)之前如何恢复git branch lf中的代码?

  2. 如何在不自动更新的情况下在不同分支之间切换?

1 个答案:

答案 0 :(得分:1)

  1. 如何在执行分支(git branch lf)之前恢复master中的代码?

在进行git commit -a -m "…" 之前先进行一次提交(例如git checkout master)。

否则,如果您不想执行“临时”提交,请执行git stash。稍后,执行git checkout lf && git stash pop来检索您未提交的代码。

  1. 如何在不自动更新的情况下切换其他分支?

基本上没有“自动更新”:您观察到的原因仅仅是您的工作目录不干净(即,存在一些未提交的修改),并且更改分支不会自动更新任何东西,它只需按原样保留这些修改(否则将导致数据丢失!)

此外,您可能希望随时运行以方便了解current-branch / index / working-directory当前状态的便捷命令为:git status

相关问题