我已将当前分支select acc, start_dat, end_dat, end_dat - start_dat as duration_day
from (
select acc, min(start_dat) as start_dat, max(end_dat) as end_dat,
row_number() over (partition by acc order by grp desc) as rn
from (
select acc, start_dat, end_dat, n_type,
row_number() over (partition by acc order by start_dat) -
row_number() over (partition by acc, n_type order by start_dat)
as grp
from inputs
)
where n_type != 'ok'
group by acc, n_type, grp
)
where rn = 1
;
设置为使用以下dev
推送到refs/remotes/test
。
git push --set-upstream origin dev:test
看起来像:
.git/config
但是当我[remote "origin"]
url = https://appulocal@bitbucket.org/appulocal/test_st.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "dev"]
remote = origin
merge = refs/heads/test
时,它不会从远程本地git push
推送到dev
。
Git bash显示消息:
test
如何解决此问题,以便只有fatal: The upstream branch of your current branch does not match
the name of your current branch. To push to the upstream branch
on the remote, use
git push origin HEAD:test
To push to the branch of the same name on the remote, use
git push origin dev
To choose either option permanently, see push.default in 'git help config'.
我当前的分支git push
推送到远程的dev
?
答案 0 :(得分:1)
实际上,您已将dev
设置为拉 refs/remotes/test
。这就是分支机构merge
选项所支配的内容。这有点令人困惑,因为这是使用push
命令设置的;但是一组不同的配置选项决定了推送行为的方式。
问题是,git检查了许多事情以决定如何处理推送,而我们大多数人习惯的行为是默认设置,当它们都没有设置时...... 但是 git并不愿意依赖于默认值,如果分支名称不匹配,因为它认为这可能是您尝试使用的两种不同配置之间的歧义。
在您的情况下,您要为test
分支指定推送目标dev
。有几种方法可以解决这个问题,但是当你在不同<时,我无法想到任何没有某些副作用的方法。 / em>分支并说git push
。
假设您只推送到一个遥控器 - 它与您拉出的遥控器相同 - 您可以设置push.default
配置值
git config push.default upstream
这将删除&#34;相同的名称&#34;校验。 (请注意,它删除了对所有分支的检查;但只要您打算在pull
期间始终推送到您合并的任何分支,这都可以。)官方docs认为这仅适用于单一远程工作流程。
如果您想要更精确地指定推送到哪里的内容,您可能只需要在推送命令行上指定refspec。