回答

收藏

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

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

我开始了一些新功能,在编写了一些代码后,我决定这个功能应该在它自己的分支上。
  {2 N& t9 v2 R如何将现有未提交的变更移动到新分支并重置我当前的变更?) A7 r) A% c# d; C$ {! W
我想重置我目前的分支机构,保留新功能的现有工作。
: G) D; o9 q1 K4 ]                                                               
. O8 U, ~- ?, N    解决方案:                                                               
1 d/ c- j& |* ~& A                                                                2020 年更新/Git 2.23Git 2.23 添加了新的switch试图消除子命令的原因checkout(切换分支,恢复文件,分离 HEAD 等)重载使用造成的一些混乱。
+ l& z( l# Y" o, A/ A从这个版本Git 开始, checkout 命令替换为:
. o1 k( E4 h. Kgit switch -c 行为是一样的,保持不变。' B! x$ }+ c* h# a' b
2020 年更新/Git 2.23 之前使用以下内容:
6 O* ?. _0 F# v( W2 A# ngit checkout -b 这将保持您当前的分支,创建并签署一个新的分支,并保留您所有的变更。然后,您可以暂存文件中的更改以提交:6 h! y4 o1 e1 {2 I/ d2 O
git add 并向您提交新分支:2 b: d; U9 _2 U' i: n; W1 {/ ]
git commit -m "
- k$ x+ [. X3 b$ q; d% m"工作目录和索引中暂存的变更不属于任何分支。这将改变这些修改将结束的分支。. e% i1 A" \# v4 m
您不会重置原分支,它将保持原样。最后一次提交仍然是相同的。因此你checkout -b然后提交。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则