git - 切换分支时如何停止git自动更新?
问题描述
我有两个分支:
----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'.
结果,我在两个分支中得到了完全相同的项目。这不是我想要的。我不希望 master 自动更新我更改的内容lf
。
我的问题是:
如何在
master
执行分支(git branch lf
)之前恢复代码?如何在没有自动更新的情况下在不同的分支之间切换?
解决方案
- 如何在执行分支(
git branch lf
)之前恢复 master 中的代码?
在做之前做一个提交(例如git commit -a -m "…"
)。git checkout master
否则,git stash
如果您不想进行“临时”提交,请执行此操作。稍后,执行git checkout lf && git stash pop
检索您未提交的代码。
- 如何在没有自动更新的情况下切换不同的分支?
基本上没有“自动更新”:您观察到的原因只是您的工作目录不干净(即,有一些未提交的修改),并且更改分支不会自动更新任何东西,它只是保留这些按原样修改(否则会导致数据丢失!)
此外,您可能希望随时运行以更深入地了解当前分支/索引/工作目录git status
的当前状态的一个方便的命令是:
推荐阅读
- html - 通过 CSS Grid 突破侧边栏元素
- javascript - 在Javascript中将一个类附加到现有的选定类(选定的类语句选择了多个类)
- r - 如何将日期分组为日期
- python - 是否有用于评估具有滚动功能的不同列中的值的 pandas 函数?
- ffmpeg - Draw time of the current frame in seconds with just 2 digits after point
- r - 卡方检验结果的解释
- javascript - 将字符串区分大小写的值与数组匹配
- sharepoint - SharePoint 2013 - 单击编辑图标时,显示弹出框(或)模式对话框
- django - Celery & Celery Beat 守护进程没有运行任务
- java - Maven 构建不使用 grpc-java 生成代码