相当于“ p4 unshelve”的git可以减少另一个提交的更改?

时间:2018-12-21 22:54:24

标签: git version-control perforce

有没有办法像git命令一样执行“ p4搁置”,以将另一个提交的更改放到您自己的存储库中?

例如,是否有一种方法可以将多个git提交“搁置”到您的git存储库的本地副本上,并将它们全部作为未跟踪的更改?

2 个答案:

答案 0 :(得分:1)

如果您要应用的链中有多个git commit,则可以使用git rebase -i --onto DESTINATION UNTIL BRANCH来使用编辑器以交互方式选择所需BRANCH..UNTIL范围内的提交。

请注意,如果BRANCH是一个提交哈希,您将得到一个分离的头,这应该与进行未跟踪的更改一样好(如果不是更好的话)。如果您确实必须进行未跟踪的更改,则之后只需执行git reset DESTINATION

答案 1 :(得分:-1)

为此,我使用了

git cherry-pick <commits> -n; git reset

cherry-pick将提交的更改引入到我的本地工作空间中,并且-n标志表示尚未将其转换为新的提交。 有关更多信息:https://git-scm.com/docs/git-cherry-pick

git reset取消暂存文件。
有关更多信息:http://data.agaric.com/undo-git-add-remove-files-staged-git-commit