Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
git:commit-into-master [2009/04/22 18:10]
andrei created
git:commit-into-master [2010/01/15 09:22] (current)
andrei added link to the commit guidelines and the repo layout
Line 1: Line 1:
 ===== GIT push into master howto ===== ===== GIT push into master howto =====
  
-This howto assumes you did some local changes into your local master branch, you have commited them and now you want to publish them in the public repository. It assumes that you start in your local master branch (git checkout master). +This howto assumes you did some local changes into your local master branch, you have commited them and now you want to publish them in the public repository. It assumes that you start in your local master branch (//git checkout master//). For the commit guidelines see [[devel:git-commit-guidelines|GIT Commit Guidelines]] and for the repository layout [[git:sip-router-repository|Guide for GIT SIP-ROUTER Repository]].
-If you want to pushd some changes you did in some other local branch, skip to the next section.+
  
-  * first try a push directly (1)+If you want to push some changes you did in some other local branch, just replace //master:master// 
 +in //git push origin master:master// with //git push origin **HEAD**:master//
 +  * first see what will be pushed 
 +<code> 
 +$ git fetch origin; git log origin/master..HEAD 
 +# alternatively you could try git whatchanged origin/master..HEAD 
 +# instead of git log and/or add --graph --color to git log / git whatchanged 
 +</code> 
 + 
 +  * try a push directly (1)
 <code> <code>
 $ git push origin master:master $ git push origin master:master
Line 19: Line 27:
  
 <code> <code>
 +$ git fetch
 $ git pull --ff --rebase origin master $ git pull --ff --rebase origin master
 </code> </code>
Line 49: Line 58:
 </code> </code>
  
- * if you get a merge conflict then fix-it and proceed as instructed (edit the file with the conflict, use git add <filename> and then git rebase --continue).+  * if you get a merge conflict then fix-it and proceed as instructed (edit the file with the conflict, use git add <filename> and then git rebase --continue).
    
-**NOTE:** you could update your branch (3) also with //git pull --ff// (no //--rebase//), but then a confusing merge commit message will be recorded, so it's highly recommended to use the //--rebase// method above.+**NOTE:** you could update your branch (3) also with //git pull --ff// (no //--rebase//), but then a confusing merge commit message will be recorded (e.g.: "Merge branch 'master' of %%ssh://git.sip-router.org/sip-router%%"), so it's highly recommended to use the //--rebase// method above
 + 
 +  * if when trying the rebase you get something like: 
 +<code> 
 +$ git pull --rebase origin master 
 +refusing to pull with rebase: your working tree is not up-to-date 
 +</code> 
 + it means you have some uncomitted local changes. Commit them (//git add ...// && //git commit//) or save them for latter use/review (//git stash save "local changes"//) or 
 + discard them (//git checkout file_with_changes// or //git reset --hard HEAD//) and then try again.

Navigation

Wiki

Other

QR Code
QR Code git:commit-into-master (generated for current page)