I'm working with a project in a directory called lucy with a Git subtree called lucy-web (cf. How can I list the git subtrees on the root?):
(venv) Kurts-MacBook-Pro-2:lucy kurtpeek$ git log | grep git-subtree-dir | tr -d ' ' | cut -d ":" -f2 | sort | uniq
lucy-web
I have two (relevant) remotes, origin and staging:
(venv) Kurts-MacBook-Pro-2:lucy kurtpeek$ git remote -v
origin  https://github.com/startwithlucy/lucy.git (fetch)
origin  https://github.com/startwithlucy/lucy.git (push)
staging https://git.heroku.com/lucy-staging.git (fetch)
staging https://git.heroku.com/lucy-staging.git (push)
On origin, there is also a branch called staging:
(venv) Kurts-MacBook-Pro-2:lucy kurtpeek$ git status
On branch staging
Your branch is up to date with 'origin/staging'.
In the lucy-web subtree, I'd like to push the contents of origin/staging to the master branch on the staging remote. Usually, I do that with this command, which is now yielding an error:
(venv) Kurts-MacBook-Pro-2:lucy kurtpeek$ git push staging `git subtree split --prefix lucy-web staging`:master
cache for 09dc1ce7e3b490f30ceeabbca0c9375e2013b596 already exists!
To https://git.heroku.com/lucy-staging.git
 ! [rejected]          07fb260ddaeee35ef1c798c97dbe5e35d882bdbe -> master (fetch first)
error: failed to push some refs to 'https://git.heroku.com/lucy-staging.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
It seems to me that what I need to do is merge the master branch on the staging remote into origin/staging before I can push, is that correct? If so, with what command can I do this?
 
    