16

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

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

想法赞赏!

4

6 回答 6

12

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

于 2014-01-06T09:00:03.677 回答
9

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

git stash
git checkout somebranch
git checkout branchwithstashedstuff
git stash pop

git stash pop 结合了 git stash apply 和 git stash drop 对最新的 stash。

如果您有不止一个存储,您可以执行 git stash list 和 git stash apply stash@{n} 来获取第 n 个存储。

于 2015-03-13T21:57:21.880 回答
8

Git 没有任何东西像 TFS Shelvesets 一样干净、优雅且与个人空间相关联。

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

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

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

于 2018-04-03T15:52:05.603 回答
1

提交只是将更改保存到您的“本地”存储库,这是一种非常个人化的行为。那么在 Commit 之后 Push 之前 CR 有什么问题呢?

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

于 2014-01-06T08:51:03.080 回答
0

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

于 2013-04-09T13:30:14.130 回答
0

在 Visual Studio 中,如果您将源代码控制插件从 git 切换到 Visual Studio Team Foundation Server(工具 -> 选项 -> 源代码控制 -> 插件选择)。你可以像 TFS 一样做。

于 2022-02-04T04:12:05.803 回答