When I “git push” git now says “Create pull request for …”. Why?

↘锁芯ラ 提交于 2019-12-17 22:19:37

问题


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)


回答1:


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



回答2:


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



回答3:


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.



来源:https://stackoverflow.com/questions/30518603/when-i-git-push-git-now-says-create-pull-request-for-why

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!