回答

收藏

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

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

我开始了一些新功能,在编写了一些代码后,我决定这个功能应该在它自己的分支上。. M" y0 w2 R- b: r; x) B- q
如何将现有未提交的变更移动到新分支并重置我当前的变更?
+ N* [- x5 c% [8 d/ q( n* [我想重置我目前的分支机构,保留新功能的现有工作。
. h; p1 m6 i( T7 [* H( y8 g                                                               
% P: F, R; f# o- \    解决方案:                                                               
  U. I0 Y& |1 @" H& M                                                                2020 年更新/Git 2.23Git 2.23 添加了新的switch试图消除子命令的原因checkout(切换分支,恢复文件,分离 HEAD 等)重载使用造成的一些混乱。# Q& z* ?9 d' Z  f0 O
从这个版本Git 开始, checkout 命令替换为:  F, o' o( z. W" Z
git switch -c 行为是一样的,保持不变。
* {! x7 j* L% k2020 年更新/Git 2.23 之前使用以下内容:: |# _; d! Q) M: H$ j3 ^
git checkout -b 这将保持您当前的分支,创建并签署一个新的分支,并保留您所有的变更。然后,您可以暂存文件中的更改以提交:$ F# n- a& u' I9 A
git add 并向您提交新分支:9 P' l) D$ b' ]5 D0 Q5 X% V5 h
git commit -m "1 E% n  p, G$ A% x9 F" q0 c1 i0 o/ {
"工作目录和索引中暂存的变更不属于任何分支。这将改变这些修改将结束的分支。
5 Y' R8 E1 C8 N4 c- L  Y: p$ P' v; L您不会重置原分支,它将保持原样。最后一次提交仍然是相同的。因此你checkout -b然后提交。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则