How to push the very last modification only ?

4 messages, 3 authors, 2016-06-15 · open the first message on its own page

How to push the very last modification only ?

From: J. Bakshi <hidden>
Date: 2016-06-15 22:51:36

Hello list,

I have found that during push, all local commit goes into the git server. Where I like to only push the very last modification with a meaningful comment which will be available at the git server. How can I then push only the last modified one ?

Thanks

Re: How to push the very last modification only ?

From: Chris Packham <hidden>
Date: 2016-06-15 22:51:36

Hi,

On 18/07/11 19:47, J. Bakshi wrote:
Hello list,

I have found that during push, all local commit goes into the git 
server.
Yes that's the normal behaviour. When you think about what push is doing
it's trying to make the remote branch the same as your local branch.
Where I like to only push the very last modification with
a meaningful comment which will be available at the git server. How
can I then push only the last modified one ?
This is easily doable. What you need to do is prepare a branch that you
do want to push. Something like this, assuming that your current branch
is 'master' and you want to push to origin/master:

  # first create temporary a branch to use while you're delivering
  git checkout -b delivery origin/master

  # now cherry pick the commits you do want to push. I usually use
  # gitk and cherry-pick from the right-click menu, but for simplicity
  # I'll use git cherry-pick here.
  git cherry-pick master
  # you can provide a commit id instead of 'master'.

  # at this point you could also use git commit --amend to add any
  # final tweaks to the commit

  # check that your delivery branch is good using git log/gitk. Build,
  # test, etc

  # now push it to your local delivery branch to the remote master
  # branch
  git push origin delivery:master

  # now do some cleanup
  git checkout master
  git branch -d delivery
  git rebase origin/master

Re: How to push the very last modification only ?

From: Drew Northup <hidden>
Date: 2016-06-15 22:51:36

On Mon, 2011-07-18 at 20:58 +1200, Chris Packham wrote:
Hi,

On 18/07/11 19:47, J. Bakshi wrote:
quoted
Hello list,

I have found that during push, all local commit goes into the git 
server.
Yes that's the normal behaviour. When you think about what push is doing
it's trying to make the remote branch the same as your local branch.
quoted
Where I like to only push the very last modification with
a meaningful comment which will be available at the git server. How
can I then push only the last modified one ?
This is easily doable. What you need to do is prepare a branch that you
do want to push. Something like this, assuming that your current branch
is 'master' and you want to push to origin/master:
<snip>

Another way to do what Chris describes is to use Interactive Rebase (git
rebase -i) to squash commits together. Please read the manual page for
that carefully before using it on a production repository.
-- 
-Drew Northup
________________________________________________
"As opposed to vegetable or mineral error?"
-John Pescatore, SANS NewsBites Vol. 12 Num. 59

Re: How to push the very last modification only ?

From: J. Bakshi <hidden>
Date: 2016-06-15 22:51:37

On Mon, 18 Jul 2011 20:58:51 +1200
Chris Packham [off-list ref] wrote:
Hi,

On 18/07/11 19:47, J. Bakshi wrote:
quoted
Hello list,

I have found that during push, all local commit goes into the git 
server.
Yes that's the normal behaviour. When you think about what push is doing
it's trying to make the remote branch the same as your local branch.
quoted
Where I like to only push the very last modification with
a meaningful comment which will be available at the git server. How
can I then push only the last modified one ?
This is easily doable. What you need to do is prepare a branch that you
do want to push. Something like this, assuming that your current branch
is 'master' and you want to push to origin/master:

  # first create temporary a branch to use while you're delivering
  git checkout -b delivery origin/master

  # now cherry pick the commits you do want to push. I usually use
  # gitk and cherry-pick from the right-click menu, but for simplicity
  # I'll use git cherry-pick here.
  git cherry-pick master
  # you can provide a commit id instead of 'master'.

  # at this point you could also use git commit --amend to add any
  # final tweaks to the commit

  # check that your delivery branch is good using git log/gitk. Build,
  # test, etc

  # now push it to your local delivery branch to the remote master
  # branch
  git push origin delivery:master

  # now do some cleanup
  git checkout master
  git branch -d delivery
  git rebase origin/master
It works !! Many many thanks :-)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help