gpt4 book ai didi

git - 在 Visual Studio Online 中删除中间提交

转载 作者:太空狗 更新时间:2023-10-29 13:51:35 25 4
gpt4 key购买 nike

我多次编辑我的 README.md,因为我没有看到预览按钮。现在我的提交历史充满了无用的提交。

我可以删除其中一些,或者至少 stash 它们吗?

最佳答案

注意

历史重写会使您的源代码控制系统处于相当困惑的状态。确保您有良好的源备份,以防出现任何问题。

Git

根据您的团队项目设置,Readme.md 存储在 Git 存储库中,您完全可以重写历史记录并将压缩的提交强制推送回 TFS,从根本上使其忘记中间数据。这是使用 git rebase 完成的,不能通过 Visual Studio Online 站点或 Visual Studio Tools for Git 完成。您需要从命令行执行此操作。

整个过程是explained very well in the Git-SCM wiki .您需要执行以下步骤:

  1. 来自 Force Push permissions 的帐户克隆包含 readme.md 的存储库。
  2. 使用 git rebase -i HEAD~6(6 是要倒带的提交数)
  3. 使用Squashmerge the commits together
  4. 使用 git push --force origin master 强制在远程重写历史

注意:这将更改提交的哈希值以及之后的每个提交。执行此操作后,要么警告所有其他贡献者重新同步,要么确保在您进行这些提交后没有其他人在 repo 上工作。

TFVC

如果您的团队项目是使用 TFVC 配置的,则过程会略有不同。

  1. 确保您有一份要保留的文件。
  2. 使用 tf destroy $/Teamproject/readme.md 在源代码管理中销毁文件,如果需要,您可以使用 /keephistory/stopat:C12345 选项销毁文件历史末尾特定更改集中的数据。
  3. 现在将您的备份文件复制回原位
  4. 并像往常一样 checkin 它,或者从命令行 tf add $/teamproject/reqadme.md 然后是 tf checkin。如果您保留历史记录,TFVC 将重新连接它。如果您完全销毁历史记录,TFVC 只会添加一个新文件。

关于git - 在 Visual Studio Online 中删除中间提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27722046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com