This post was most recently updated on November 12th, 2019.
< 1 min read.Ran into this one when trying to push my merge from upstream. I was adhering to my own instructions (see below for a link), but got the error (further below) that stopped me from using GitHub Desktop to push (sync) at all.
So, the error I ran into:
! [remote rejected] master -> master (refusing to allow an integration to create or update .github/workflows/main.yml) error: failed to push some refs to [repositoryname]
This was take weird – I hadn’t made any changes to said file, and I don’t think anyone else had, either.
This is likely an unintended feature of GitHub, and GitHub Desktop can’t do anything about it. However, there’s a nifty workaround available!
Solution
Table of Contents
A number of GitHub issues propose that this issue can be circumvented by actually committing a change removing the yaml file in question from the repository. However, if you’re merging from an upstream repository, you don’t usually want to do this! So we need to find another way.
Whereas GitHub Desktop is using OAuth, and running into this issue, Git Bash (the console application you use to merge upstream in my earlier example as well) doesn’t. And it’s also free from this issue, as it’s not considered “an integration”, and whatever it’s trying to do (or not do) to the yaml file just works.
So, in short – instead of using GitHub Desktop, open Git bash and run this:
cd [yourprojectpath] # after this, make sure the command line shows the right branch name!
git push
Et voila! You should be good.
References
- https://github.com/desktop/desktop/issues/6526
- https://github.com/cclauss/Upgrade-to-Python3/issues/1
- Using role claims to target WebSockets - May 24, 2022
- The simplest fixes to “500 (Internal Server Error)” from Azurite - May 17, 2022
- How to solve “Npgsql: 42883: function create_hypertable(…) does not exist”? - May 10, 2022