diff --git a/src/Commands/Push.cs b/src/Commands/Push.cs index e04e81ef9..5981e2d88 100644 --- a/src/Commands/Push.cs +++ b/src/Commands/Push.cs @@ -23,7 +23,7 @@ public Push(string repo, Models.Branch local, Models.Remote remote, Models.Branc if (noVerify) builder.Append("--no-verify "); - builder.Append(remote.Name).Append(' ').Append(local.Name).Append(':').Append(remoteBranch.Name); + builder.Append(remote.Name).Append(" refs/heads/").Append(local.Name).Append(":refs/heads/").Append(remoteBranch.Name); Args = builder.ToString(); } @@ -38,7 +38,7 @@ public Push(string repo, Models.Commit revision, Models.Remote remote, Models.Br if (force) builder.Append("--force-with-lease "); - builder.Append(remote.Name).Append(' ').Append(revision.SHA).Append(':').Append(remoteBranch.Name); + builder.Append(remote.Name).Append(' ').Append(revision.SHA).Append(":refs/heads/").Append(remoteBranch.Name); Args = builder.ToString(); } diff --git a/src/ViewModels/Push.cs b/src/ViewModels/Push.cs index ca704eee8..c0b2efa9c 100644 --- a/src/ViewModels/Push.cs +++ b/src/ViewModels/Push.cs @@ -296,7 +296,7 @@ private void PostSelectedRemoteChanged() { target = new Models.Branch() { - Name = mergeTarget, + Name = mergeTarget.StartsWith("refs/heads/", StringComparison.Ordinal) ? mergeTarget.Substring(11) : mergeTarget, Remote = _selectedRemote.Name, Head = "---", // Not used by `git push` command but used by Views };