On Dec 5, 11:43 pm, Roddie Grant <gitl...@myword.co.uk> wrote:
> I develop websites on my laptop. Every so often I commit and push to the
> remote test server to see how things run there, merging to its local
> "nowork" branch. Inevitably there are one or two very minor wrinkles. I fix
> these on the laptop and then push again to the test server.
>
> When everything is OK, I like to rebase/squash the minor corrections into
> the substantive commit, but need to bodge the test server to match.
>
> I reset --hard on the test server "nowork" branch to remove the now-rebased
> commits, but I cannot then push the rebased code to the test server - it
> won't do fast forward because the remote branch has the original individual
> commits, even though I've reset the "nowork" branch. If I use
> push -f test mybranch:refs/remotes/dev/mybranch (ie with the -f option),
> will that force the remote branch to match the rebased code, and I can then
> merge it into "nowork"? I am aware this needs to be done with care, but it
> fits very nicely into the workflow I've evolved. The "nowork" branch is
> never pulled.

If the refs/remotes/dev/mybranch branch is the result of doing
$ git remote add dev URL_of_your_dev_laptop_repo
$ git fetch
on the server,
then after doing the push you described you have to
$ git checkout nowork
$ git reset --hard dev/mybranch
on the server to make its local "mybranch" point to the same commit
the just updated branch does.

That is, I'm sceptical about that ``merge it into "nowork"'' part as
after your forced push, the branches will clearly have diverged
histories: "nowork" having the original series of fixes and "dev/
mybranch" having the rebased/squashed set of the same fixes.

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To post to this group, send email to git-us...@googlegroups.com.
To unsubscribe from this group, send email to 
git-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/git-users?hl=en.

Reply via email to