我正在尝试将 git 用作它不是为之而生的东西——一个数据库。请随时告诉我这是一个愚蠢的想法。
设置
一个分支(我们称之为robot
)每天通过脚本自动更新。数据来自其他一些公开可用的数据库。
最初 master
分支与 robot
分支相同。
公开数据库中的一些数据是错误的,因此我将提交到master
分支并更正错误。
当脚本在未来检测到公共(public)数据库上的任何更改时,它会将这些更改作为新提交添加到 robot
分支(每个文件有一个提交)。
跟踪差异
现在,如果我修改了同一个文件,我显然已经失去了进行快进 merge 的能力。但我仍然可以在 robot
分支中挑选好的更改并将它们导入到 master
分支中。问题是,当几乎所有文件都发生分歧时,这可能会在一段时间后变得相当困惑。
如何系统地跟踪不同分支之间的差异?
最佳答案
听起来您正在寻找 git rebase
命令。此命令允许您在 robot
分支的新头部之上更新您对 master
分支所做的更改:
git checkout master
git rebase robot
如果数据库更新了您在 master
中更改的内容,则可能会发生冲突。您必须手动解决这些冲突。
关于database - Git、机器人和分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3973084/