Git:有没有像TFS shelveset这样的功能?

时间:2013-04-09 13:17:29

标签: git version-control

我尝试保存“统一差异”,但找不到应用它的方法。

补丁适用于提交的更改,我不希望在没有正确的代码审查的情况下提交。

赞赏的想法!

5 个答案:

答案 0 :(得分:8)

Shelvesets只是临时分支。所以 - 只需要新的分支。 Git中的分支非常轻量级,因此从服务器创建,推送和删除非常简单快速。您可以将其命名为wip-blabla,以通知它仍未准备好。

答案 1 :(得分:7)

git stash是我见过的最接近搁置的东西。它是一个本地预提交副本,一旦您再次开始处理它,就可以将其提取到您的分支中。

git stash
git checkout somebranch
git checkout branchwithstashedstuff
git stash pop

git stash pop将git stash apply和git stash drop与最新的存储结合起来。

如果你有多个存储,你可以使用git stash list和git stash apply stash @ {n}来获取第n个存储。

答案 2 :(得分:1)

Commit除了保存对“本地”存储库的更改之外什么也没做,这是个人行为。 那么在提交之后但在推送之前CR的问题是什么?

对我来说,补丁适用于与shelve-set类似的功能。

答案 3 :(得分:0)

我认为你想要镜像搁置集的目的是创建另一个远程仓库。 git remote add“changesetname”“changeseturl”(Git允许你有多少你喜欢的) 在审核过程中 - 您可以将更改集中的更改合并到原点 - 然后您可以在完成后删除更改集。

答案 4 :(得分:0)

Git没有像TFS Shelvesets那样干净,优雅,与个人空间相关的东西。

Shelveset是在您自己的个人存储桶下在服务器上制作的。与分支不同,它永远不会出现在源树中,也不会混淆任何普通的水。它将您的工作存储为与已提交代码相同的备份保证,而不会将其与已提交代码的空间混合。

我们在提交之前使用shelvesets进行代码审查,这样我们就不会在任何地方提交错误的代码。我们将它用作备份,以便我可以在一个安全的地方继续工作,以防我的工作站融化。 Git没有完成这些事情,因为任何使用“分支”或“镜子”都是一个额外的步骤,有人可能会陷入困境,有人可能会忘记清理。

然而,Git会为您提供一个可以进行审核的确切位置......拉取请求。如果你对Git很好,你必须善于将糟糕的代码提交给你的本地回购,因为这就是事情的发展,而不会让人们的生活变得复杂。不要担心Pulls之前的评论,请在拉<。>进行评论。