首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确保Git推送来自同一个树

确保Git推送来自同一个树
EN

Stack Overflow用户
提问于 2014-04-27 12:07:03
回答 1查看 45关注 0票数 1

我有一个中央git存储库,其中我删除了它的旧历史,导致所有的sha ID都被更改了。所以我有了一个新的第一次提交。我想防止人们将旧的历史推到这个新的repo中(它将有一个不同的首次提交)。

我可以使用以下命令获取第一次提交的sha1:

代码语言:javascript
复制
git log --pretty=format:"%H @ %ai (%an)" | tail -1

如何在预接收钩子中获取克隆的目录?

EN

回答 1

Stack Overflow用户

发布于 2014-04-27 15:48:28

您可以添加一个读取每个接收到的ref的pre-receive hook

如果第一个收到的头没有父级,这意味着有人正在推送主分支的所有历史记录,而不是几个提交。

代码语言:javascript
复制
git rev-list $new-ref

(如果$new-ref是根提交,则它应该只返回自身,没有父级)

如果是这种情况,则拒绝提交(exit 1)。

如果没有,不要阻止推送。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23319277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档