目标:我需要为上游项目的先前版本制作自定义补丁,并且我希望能够将这些补丁应用于更高版本.
问题:从维护分支重新绑定到更高版本会与维护分支中尚未修改的文件发生冲突.
怀疑:我正在为我正在努力完成的事情错误地应用合并或重新定位.
示例:这是我想要完成的事情的一个逻辑示例,但要了解标记版本v1.0和v2.0之间的提交历史记录可以在其间进行数百次提交.
我将带有多个标记版本(v1.0和v2.0)的上游存储库与主提交历史记录A到D分叉.B是标记v1.0的最后一次提交.C是标记v2.0的最后一次提交.D正在持续发展.
$ git clone git@server:repo
A<--B(v1.0)<--C(v2.0)<--D Master
Run Code Online (Sandbox Code Playgroud)
我分支出一个早期版本标签(v1.0)进行一些自定义修改,如下所示:
$ git checkout v1.0 -b v1.1
E<--G<--H v1.1
/
A<--B<--C<--D Master
\
F v2.1
Run Code Online (Sandbox Code Playgroud)
我现在要做的是分支一个更高版本的标签(v2.0)并将我在v1.1分支(G'和H')中做出的补丁提交应用到v2.0分支.我需要保留我在v2.0日志中在v1.0中进行的各个提交.
E<--G<--H v1.1
/
A<--B<--C<--D Master
\
F<--G'<--H' v2.1
Run Code Online (Sandbox Code Playgroud)
问题:应用这些更改并避免冲突的正确工作流程是什么?我尝试了很多merge和rebase的组合,(包括--onto)但都失败了.git rebase想要默认为3向合并并与不相关的文件冲突.
$ git rebase v2.1 v1.1
Falling back to patching base and 3-way merge
...
Failed to merge in the changes.
$ git checkout v2.1
$ git rebase v1.1
Falling back to patching base and 3-way merge
...
Failed to …Run Code Online (Sandbox Code Playgroud) 我有两张桌子.
表1是整数的单个COLUMN.
表2有三个COLUMNS:start_integer,end_integer,data
简单的查询是将整数列与数据连接在一起
integer >= start_integer AND integer <= end_integer
Run Code Online (Sandbox Code Playgroud)
在许多SQL实现中,这可以通过左条件JOIN ... ON BETWEEN来完成
SELECT tbl1.integer, tbl2.data FROM tbl1
LEFT JOIN tbl2 ON tbl1.integer BETWEEN tbl2.start_integer AND
tbl2.end_integer;
Run Code Online (Sandbox Code Playgroud)
但似乎BigQuery只支持JOIN ON而只有一个=条件.
这可以通过交叉连接来完成,但BigQuery抱怨我的表太大了.CROSS JOIN EACH无效.
如何在BigQuery SQL的限制内完成此连接任务?
下面是我的BigQuery SQL:
SELECT tbl1.integer, tbl2.data
FROM bq:data.tbl1
CROSS JOIN bq:data.tbl2
WHERE tbl1.integer BETWEEN tbl2.start_integer AND tbl2.end_integer;
Run Code Online (Sandbox Code Playgroud)
哪个返回错误:
错误:4.1 - 4.132:JOIN运算符的右侧表必须是一个小表.如果左侧表较小,则切换表;如果两个表都大于http://goo.gl/wXqgHs中描述的最大值,则使用JOIN EACH .