是否有一种简单的方法可以从另一个分支获取更改而无需合并或重组.并保持这些更改未跟踪(对于新文件)或不进行提交(对于现有文件)?
161*_*903 15
你可以用git cherry-pick -n <commit>....它从一个或多个提交中获取更改,并将它们应用于当前工作树而不进行提交.
-n标志文件:
-n
--no提交
通常,该命令会自动创建一系列提交.此标志应用必要的更改来挑选您的工作树和索引的每个命名提交,而不进行任何提交.此外,使用此选项时,索引不必与HEAD提交匹配.樱桃选择是针对索引的开始状态完成的.
当在一行中挑选多个提交效果时,这非常有用.
Ôre*_*rel 12
进行合并以获取更改,然后取消合并但保留修改:
git merge feature
git reset HEAD~1
Run Code Online (Sandbox Code Playgroud)
kta*_*lyn 12
签出您想要放置未提交更改的新分支。
git merge --squash sourcebranch
其工作原理与已接受的答案类似,但只有一行。
https://blog.oddbit.com/post/2019-06-17-avoid-rebase-hell-squashing-wi/
您可以使用git diff <another-branch> ^HEAD打印“another-branch”中但不在当前分支(HEAD)中的更改的差异。然后通过将这些更改传递给git apply -.
git diff <another-branch> ^HEAD | git apply -
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8619 次 |
| 最近记录: |