When I "git push" git now says "Create pull request for ...". Why?

GitBitbucketGithooksGit Push

Git Problem Overview


I am making changes to a project in a branch that, so far, is known to no one else but me. However, starting recently, when I git push to this project, I now receive this as part of the response:

remote: Create pull request for <<my branch>>:
remote:   https://bitbucket.org/...

I have no idea why Git is giving me this message, which I have never seen before.

Even if I delete the remote branch (with "git push origin :<<my branch>>" I now still get this message! (I successfully deleted the branch on the remote, but the message remains)

Git Solutions


Solution 1 - Git

Note: These messages can be disabled now. See Jake's answer. Read along my answer for the technical explanation.

Everything that is prefixed by remote: has been sent by the receiving script1 on the server. Bitbucket probably wants to make it easier for you to create a pull request.


1 Example of such a post-receive hook using echo to send a message to the user as explained in the link above. It will be called once all the pushed data is completely saved on the server:

> Both standard output and standard error output are forwarded to git send-pack on the other end, so you can simply echo messages for the user.

On the server:

git@example.com:~/stackoverflow.git/hooks$ cat post-receive 
#!/bin/bash

echo "This is an example of a git hook running at the server"

On the client:

$ git push git@example.com:stackoverflow.git master:master
Counting objects: 1, done.
Writing objects: 100% (1/1), 187 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
remote: This is an example of a git hook running at the server
To git@example.com:stackoverflow.git
   4751391..01882eb  master -> master

Solution 2 - Git

I think TimWolla is right, but I just wanted to add this post from Atlassian, which clarifies Atlassian's policy:

> In Stash 3.3, a feature was added to display a message to users in the terminal with a link to create a pull request when a new branch or branch with no pull requests is pushed. This guide will explain how to turn this feature off. > remote: remote: Create pull request for ABC-123-fix-bug: remote: http://localhost:7990/projects/PROJ/repos/REPO/compare/commits?sourceBranch=refs/heads/ABC-123-fix-bug remote:

> Currently this feature can only be turned on or off globally. [...] > To turn this feature off, do the following: >

  1. Navigate to the 'Manage add-ons' section of the Stash admin screens
  2. Select 'System' from the dropdown
  3. Search for 'Bundled Hooks' expand it and its modules
  4. Find the 'print-branch-links-hook' module, click Disable

Solution 3 - Git

TimWolla provided the full explanation, but here is how to get it fixed in the long term: Provide your feedback on this support ticket to show that you share the frustration expressed by other users over this issue.

UPDATE: As of 2016-09-27 this is no longer an issue and Atlassian has provided an official response on the matter.

Here are the instructions for disabling these messages:

  1. Log into BitBucket with your browser.
  2. Click on your user icon on the top-right corner of the window.
  3. Go to BitBucket Settings
  4. Uncheck "Enable console messages."
  5. Press the "Update" button below.

Bitbucket Settings - Console Messages

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMike RobinsonView Question on Stackoverflow
Solution 1 - GitTimWollaView Answer on Stackoverflow
Solution 2 - GithdlView Answer on Stackoverflow
Solution 3 - GitJakeView Answer on Stackoverflow