gpt4 book ai didi

sqlite - 如何在 mercurial 中始终使用 'remote' 版本的文件?

转载 作者:行者123 更新时间:2023-12-03 15:44:38 25 4
gpt4 key购买 nike

Mercurial 新手,我正在开发一个使用 Sqlite 作为数据库的 Django 项目。我开发模板和 UI 内容,而我的同事则在处理后端代码。我们都将更改推送到 Bitbucket。

他是唯一一个实际修改模型并相应地修改 SQLite 文件的人,但是仅仅凭借我对应用程序的测试,文件也发生了变化。在我完成测试之后和推送之前,我总是通过执行“hg revert database.sqlite”来放弃我的更改。

是否有一种简单的方法可以让我始终坚持使用他的 SQLite 文件版本,以便我们每次尝试同步时都不会遇到合并问题?有点像一个异常(exception),说“如果有冲突,总是使用文件的远程版本”。我确实在某个地方的提示中看到过类似的内容,但我一生都无法再次找到它。

最佳答案

我同意 Matthew 的评论,即最好的解决方案是不跟踪此文件。

但是,您要求 Mercurial 始终使用远程版本的想法实际上并不遥远... :-) 您可以通过 configuring a merge tool 来做到这一点。对于此文件,您告诉 Mercurial 在所有合并中使用其他(远程)版本:

[merge-tools]
database.sqlite = internal:other

这应该确保您将始终放弃对 database.sqlite 的更改。当你合并。这让你做
$ hg pull
$ hg merge

我刚刚有了另一个想法——使用预合并 Hook 来恢复文件:
[hooks]
pre-merge = hg revert mydb.sqlite

这几乎等同于使用 internal:other上面的合并工具,但您可能会发现它在概念上更简单,因为它模拟了您已经在做的事情。

关于sqlite - 如何在 mercurial 中始终使用 'remote' 版本的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3615696/

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