如何在保持 Git 的提交日志干净的同时迁移到自动构建?
How can I migrate to automated builds while keeping Git's commit log clean?
我目前正在努力将大型应用程序迁移到构建服务器。每次推送到我们的 Git 存储库都会触发一个新的构建,该构建将构建、测试 - 所有这些都在我项目中的各种脚本的帮助下进行。
到目前为止,我正在本地修改我的脚本,然后每次都将它们推送到 Git。正如您所猜到的,这让我的提交日志难以置信地塞满了很多具有相同提交消息的小编辑。
这就是我在每次小改动后所做的 -
git add .;git add -A;git commit -m "Trigger Bamboo build.";git push
理想情况下,我想将所有与我的构建更改相关的推送提交合并为一个。
我怎样才能帮助解决这个问题?
为最后的非测试提交添加标签
git tag backup
然后像你一样继续工作
git add .;git add -A;git commit -m "Trigger Bamboo build.";git push
找到适合您的 Bamboo 设置后,通过返回到您在上面标记的提交来恢复您的本地更改
git reset --hard backup
最后,也恢复你的遥控器(假设你被允许使用 git push -f
)
git push -f
编辑:
如果您的提交确实有意义并且您不想丢弃它们(使用上述方法会发生这种情况),您可以使用交互式变基
git rebase -i backup
并将列表中除最后一个条目以外的所有条目的 pick
更改为 squash
。这会将标记 backup
和当前 HEAD 之间的所有提交合并为一个提交。
详细信息可在 git book 或此 [Atlassian 教程]
中找到
更新:
您还可以配置 Bamboo 使用计划构建:
我目前正在努力将大型应用程序迁移到构建服务器。每次推送到我们的 Git 存储库都会触发一个新的构建,该构建将构建、测试 - 所有这些都在我项目中的各种脚本的帮助下进行。
到目前为止,我正在本地修改我的脚本,然后每次都将它们推送到 Git。正如您所猜到的,这让我的提交日志难以置信地塞满了很多具有相同提交消息的小编辑。
这就是我在每次小改动后所做的 -
git add .;git add -A;git commit -m "Trigger Bamboo build.";git push
理想情况下,我想将所有与我的构建更改相关的推送提交合并为一个。
我怎样才能帮助解决这个问题?
为最后的非测试提交添加标签
git tag backup
然后像你一样继续工作
git add .;git add -A;git commit -m "Trigger Bamboo build.";git push
找到适合您的 Bamboo 设置后,通过返回到您在上面标记的提交来恢复您的本地更改
git reset --hard backup
最后,也恢复你的遥控器(假设你被允许使用 git push -f
)
git push -f
编辑:
如果您的提交确实有意义并且您不想丢弃它们(使用上述方法会发生这种情况),您可以使用交互式变基
git rebase -i backup
并将列表中除最后一个条目以外的所有条目的 pick
更改为 squash
。这会将标记 backup
和当前 HEAD 之间的所有提交合并为一个提交。
详细信息可在 git book 或此 [Atlassian 教程]
更新:
您还可以配置 Bamboo 使用计划构建: