diff --git a/pkg/commands/git_commands/sync.go b/pkg/commands/git_commands/sync.go index 1c93fc260..7ab209c0e 100644 --- a/pkg/commands/git_commands/sync.go +++ b/pkg/commands/git_commands/sync.go @@ -35,7 +35,7 @@ func (self *SyncCommands) PushCmdObj(task gocui.Task, opts PushOpts) (oscommands ArgIf(opts.ForceWithLease, "--force-with-lease"). ArgIf(opts.SetUpstream, "--set-upstream"). ArgIf(opts.UpstreamRemote != "", opts.UpstreamRemote). - ArgIf(opts.UpstreamBranch != "", opts.UpstreamBranch). + ArgIf(opts.UpstreamBranch != "", "HEAD:"+opts.UpstreamBranch). ToArgv() cmdObj := self.cmd.New(cmdArgs).PromptOnCredentialRequest(task) diff --git a/pkg/commands/git_commands/sync_test.go b/pkg/commands/git_commands/sync_test.go index 6ff8da840..353ac72aa 100644 --- a/pkg/commands/git_commands/sync_test.go +++ b/pkg/commands/git_commands/sync_test.go @@ -48,7 +48,7 @@ func TestSyncPush(t *testing.T) { UpstreamBranch: "master", }, test: func(cmdObj oscommands.ICmdObj, err error) { - assert.Equal(t, cmdObj.Args(), []string{"git", "push", "origin", "master"}) + assert.Equal(t, cmdObj.Args(), []string{"git", "push", "origin", "HEAD:master"}) assert.NoError(t, err) }, }, @@ -61,7 +61,7 @@ func TestSyncPush(t *testing.T) { SetUpstream: true, }, test: func(cmdObj oscommands.ICmdObj, err error) { - assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--set-upstream", "origin", "master"}) + assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--set-upstream", "origin", "HEAD:master"}) assert.NoError(t, err) }, }, @@ -74,7 +74,7 @@ func TestSyncPush(t *testing.T) { SetUpstream: true, }, test: func(cmdObj oscommands.ICmdObj, err error) { - assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--force-with-lease", "--set-upstream", "origin", "master"}) + assert.Equal(t, cmdObj.Args(), []string{"git", "push", "--force-with-lease", "--set-upstream", "origin", "HEAD:master"}) assert.NoError(t, err) }, },