如何在 Git 中执行以下操作?
我当前的分支是 branch1,我做了一些本地更改。但是,我现在意识到我实际上打算将这些更改应用于 branch2。有没有办法应用/合并这些更改,以便它们成为分支 2 上的本地更改,而无需在分支 1 上提交它们?
由于您的文件尚未提交branch1:
branch1
git stash git checkout branch2 git stash pop
要么
git stash git checkout branch2 git stash list # to check the various stash made in different branch git stash apply x # to select the right one
以上是rbento答案的更长更明确的版本:
git stash git stash branch branch2
它用:
[git stash branch <branchname> [<stash>]](https://git- scm.com/docs/git-stash#Documentation/git-stash.txt- branchltbranchnamegtltstashgt) 从最初创建<branchname>的提交开始创建并签出一个名为的新分支,<stash> 将记录的更改应用<stash>到新的工作树和索引。 如果成功,并且<stash>是表单的引用stash@{<revision>},则删除<stash>. git stash push如果您运行的分支发生了足够多的更改git stash apply而由于冲突而失败,这将很有用。 由于存储条目应用在运行时为 HEAD 的提交之上git stash,因此它恢复了最初的隐藏状态而没有冲突。
git stash branch <branchname> [<stash>]
scm.com/docs/git-stash#Documentation/git-stash.txt- branchltbranchnamegtltstashgt)
<branchname>
<stash>
如果成功,并且<stash>是表单的引用stash@{<revision>},则删除<stash>.
stash@{<revision>}
git stash push如果您运行的分支发生了足够多的更改git stash apply而由于冲突而失败,这将很有用。 由于存储条目应用在运行时为 HEAD 的提交之上git stash,因此它恢复了最初的隐藏状态而没有冲突。
git stash push
git stash apply
git stash
正如benjohn所评论的(参见gitstash手册页):
gitstash
要同时存储当前未跟踪(新添加的)文件,请添加参数-u,因此:
-u
git stash -u