【发布时间】:2013-04-09 13:17:28
【问题描述】:
我尝试保存“统一差异”,但找不到应用它的方法。
补丁适用于提交的更改,我不希望提交没有适当的代码审查。
想法赞赏!
【问题讨论】:
-
Git stash 应该会有所帮助 - When should I use git stash?
标签: git version-control
我尝试保存“统一差异”,但找不到应用它的方法。
补丁适用于提交的更改,我不希望提交没有适当的代码审查。
想法赞赏!
【问题讨论】:
标签: git version-control
搁置集只是临时分支。所以 - 只是建立新的分支。 Git 中的分支非常轻量级,因此从服务器创建、推送和删除非常简单和快速。您可以将其命名为 wip-blabla 以通知它尚未准备好。
【讨论】:
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 个存储。
【讨论】:
Git 没有任何东西像 TFS Shelvesets 一样干净、优雅且与个人空间相关。
在服务器上创建一个搁置集,位于您自己的个人存储桶下。与树枝不同,它永远不会出现在源树中,也不会混淆任何普通的水。它以与已提交代码相同的备份保证来存储您的工作,而不会将其与已提交代码的空格混合。
我们在提交之前 使用搁置集进行代码审查,因此我们永远不会在任何地方真正提交糟糕的代码。我们将它用作备份,以便我可以将工作保存在安全的地方,以防我的工作站融化。 Git 没有完成这些事情,因为任何“分支”或“镜像”的使用都是一个额外的步骤,有人可能会搞砸,有人可能会忘记清理。
然而,Git 所做的是为您提供一个可以进行审核的确切位置……拉取请求。如果你擅长使用 Git,那么你必须擅长将糟糕的代码提交到本地仓库,因为这就是事情的发展方式,不会让人们的生活变得复杂。在 Pulls 之前不要担心评论,请在 Pulls 进行评论。
【讨论】:
提交只是将更改保存到您的“本地”存储库,这是一种非常个人的行为。 那么在 Commit 之后 Push 之前 CR 有什么问题呢?
对我来说,patch 非常适合与 shelve-set 类似的功能。
【讨论】:
我认为你可能想要做的镜像搁置集是创建另一个远程存储库。 git remote add "changesetname" "changeseturl" (Git 允许你拥有任意数量) 在审查过程中 - 您可以将变更集的更改合并到您的原点 - 然后您可以在完成后删除变更集。
【讨论】:
在 Visual Studio 中,如果您将源代码控制插件从 git 切换到 Visual Studio Team Foundation Server(工具 -> 选项 -> 源代码控制 -> 插件选择)。你可以像 TFS 一样做。
【讨论】: