I have a bamboo plan set up to pull from a bitbucket repository. It builds every time a push is made to the repo. If and only if the plan successfully completes, I want to push the changes (the ones I originally pushed to bitbucket which triggered the plan) to a remote git server.
So far I did the following:
If I set the 'Source Code Checkout' task to 'Force Clean Build' this works and every commit I make is built on the server, then pushed to the remote repository. This is what I want.
However if I don't force a clean build, the first build's push is sent to the remote, but consequent builds are not. If I navigate to the Job's directory (for me /var/atlassian/application-data/bamboo/xml-data/build-dir/<JOB_NAME>) and run 'git status' I get: "HEAD detached at 0631325" - showing the short version of the hash of the latest commit.
I'm not familiar enough with git to understand exactly how to deal with this in an efficient manner. I know pulling the repo again completely to another location would technically work, but I feel that that is unnecessary since to build the plan the repo was pulled already. The files are already there.
Is there a recommended way that I could push the changes from this headless repo to a remote repo, instead of pushing from the outdated origin branch?
I ended up resolving this issue by explicitly pushing from the head:
git push backup HEAD:master git push backup HEAD:master --tags
where 'backup' is a remote set via https:
git remote add backup https://USER:PASSWORD@URL/TO/REPO.git
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.