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

Ari*_*iel 13 git version-control

我尝试通过保存"统一差异",但找不到应用它的方法.

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

想法赞赏!

Hau*_*eth 8

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


Dar*_*ten 7

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

git stash
git checkout somebranch
git checkout branchwithstashedstuff
git stash pop
Run Code Online (Sandbox Code Playgroud)

git stash pop结合了git stash apply和git stash drop对抗最新的存储.

如果你有超过一个藏匿,你可以做git stash list和git stash apply stash @ {n}来获取第n个藏匿.

  • 注意:如果它是本地副本,则无法帮助将代码备份到另一台服务器/机器,我认为 Shelveset 可以做到这一点。 (2认同)

Cra*_*tti 6

Git 没有任何东西像 TFS Shelvesets 那样干净、优雅并与个人空间紧密相连。

Shelvesset 在服务器上制作,位于您自己的个人存储桶下。与树枝不同,它永远不会出现在源树中,永远不会弄脏任何普通的水。并且它以与已提交代码相同的备份保证来存储您的工作,而不会将其与已提交代码的空间混合。

我们提交使用搁置集进行代码审查,因此我们永远不会在任何地方真正提交错误代码。我们将其用作备份,以便我可以将工作保存在安全的地方,以防我的工作站融化。Git 没有完成这些事情,因为任何“分支”或“镜像”的使用都是一个额外的步骤,有人可能会搞砸,有人可能会忘记清理。

然而,Git 所做的是给你一个可以进行审查的确切位置……拉取请求。如果您擅长 Git,那么您必须擅长将糟糕的代码提交到您的本地存储库,因为这样做不会使人们的生活变得复杂。不要担心拉手之前的评论,做评论拉手。


ade*_*ore 0

我认为您可能想要镜像搁置集的是创建另一个远程存储库。git remote add "changesetname" "changeseturl" (Git 允许您拥有任意数量的内容) 在审核过程中 - 您可以将更改从变更集合并到您的源 - 然后您可以在完成后删除变更集。