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

Mike Robinson picture Mike Robinson · May 29, 2015 · Viewed 16.3k times · Source

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)

Answer

TimWolla picture TimWolla · May 29, 2015

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:

[email protected]:~/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 [email protected]: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 [email protected]:stackoverflow.git
   4751391..01882eb  master -> master