回答

收藏

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

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

我开始了一些新功能,在编写了一些代码后,我决定这个功能应该在它自己的分支上。; i2 w+ X9 M- A% s6 Y* p
如何将现有未提交的变更移动到新分支并重置我当前的变更?
# h) Q, j2 i- K8 ~6 o  X我想重置我目前的分支机构,保留新功能的现有工作。  ]6 ?, U) D$ }3 T! r* v
                                                               
7 r- s* N/ i: i. D3 `0 W    解决方案:                                                               
' p, C6 v7 v! K                                                                2020 年更新/Git 2.23Git 2.23 添加了新的switch试图消除子命令的原因checkout(切换分支,恢复文件,分离 HEAD 等)重载使用造成的一些混乱。
, ?' _1 }8 a0 d4 D" m从这个版本Git 开始, checkout 命令替换为:2 a( `9 b, @1 K1 z% j% d
git switch -c 行为是一样的,保持不变。$ ]+ v) i! p0 }" L$ p' v
2020 年更新/Git 2.23 之前使用以下内容:
, [3 ^3 z5 P$ g( u( F+ Wgit checkout -b 这将保持您当前的分支,创建并签署一个新的分支,并保留您所有的变更。然后,您可以暂存文件中的更改以提交:! E) i2 m, D# G+ I5 L9 H
git add 并向您提交新分支:, q: I; h+ W2 G. A7 }# h( O# t9 Q8 a. ]2 a
git commit -m ": A5 @! e) ]$ b- U) X* p% s
"工作目录和索引中暂存的变更不属于任何分支。这将改变这些修改将结束的分支。2 ^: P/ p# L2 X0 I1 w
您不会重置原分支,它将保持原样。最后一次提交仍然是相同的。因此你checkout -b然后提交。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则