回答

收藏

将现有的、未提交的工作移动到 Git 中的新分支

技术问答 技术问答 349 人阅读 | 0 人回复 | 2023-09-11

我开始了一些新功能,在编写了一些代码后,我决定这个功能应该在它自己的分支上。) h& }  M8 _9 A$ d
如何将现有未提交的变更移动到新分支并重置我当前的变更?
9 A+ j' R# b) u9 E& x我想重置我目前的分支机构,保留新功能的现有工作。% d& u- t! A, L
                                                               
+ G! v4 I$ _: u, G: G    解决方案:                                                                4 `) N6 d7 R& \& J
                                                                2020 年更新/Git 2.23Git 2.23 添加了新的switch试图消除子命令的原因checkout(切换分支,恢复文件,分离 HEAD 等)重载使用造成的一些混乱。
7 p9 D4 s  l3 m从这个版本Git 开始, checkout 命令替换为:# [, ~. C/ |2 \7 x; \; v
git switch -c 行为是一样的,保持不变。# [9 y( A4 C3 ^" x
2020 年更新/Git 2.23 之前使用以下内容:/ B4 M" G4 V7 S: q4 Z7 ^1 d4 t
git checkout -b 这将保持您当前的分支,创建并签署一个新的分支,并保留您所有的变更。然后,您可以暂存文件中的更改以提交:
4 O& A- D- s$ R: Mgit add 并向您提交新分支:6 F* G3 V, O8 ]5 X  \& x
git commit -m "8 F! \; \! A* ~' s
"工作目录和索引中暂存的变更不属于任何分支。这将改变这些修改将结束的分支。  y1 J  Q+ A: ~( f3 l( {
您不会重置原分支,它将保持原样。最后一次提交仍然是相同的。因此你checkout -b然后提交。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则