Project

General

Profile

Common git operations » History » Revision 11

Revision 10 (cryptogopher, 2020-07-10 02:29) → Revision 11/18 (cryptogopher, 2020-07-10 02:31)

h1. Common git operations 

 {{>toc}} 

 Prerequisites: 
 <pre> 
 cd ~/plugins/issue_recurring 
 </pre> 

 h2. Issue resolution in separate branch 

 h3. Create separate branch for issue 

 # Checkout and update master: 
 <pre> 
 $ git checkout master 
 $ git pull 
 </pre> 
 # Create, checkout new branch and push it to remote (so it will be tracked and replicated on it.michalczyk.pro): 
 <pre> 
 $ git checkout -b issueN 
 $ git push -u origin issueN 
 </pre> 
 # Reload all files open in vim: 
 <pre> 
 :bufdo! e 
 </pre> 

 h3. Merge issue branch into master 

 # Push uncommited changes on issue branch. 
 # Checkout and update master: 
 <pre> 
 $ git checkout master 
 $ git pull 
 </pre> 
 # Merge adding comment _closes #N_ and push issueN branch: 
 <pre> 
 $ git merge issueN 
 $ git push 
 </pre> 
 # Delete merged branch from local and remote: 
 <pre> 
 $ git branch -d issueN 
 $ git push origin :issueN 
 </pre> 
 # Verify: 
 <pre> 
 $ git branch -a 
 </pre> 

 h2. Pull requests 

 

 h3. Checkout pull request locally (for editing, testing etc.) 

 # Fetch pull request based on its number into new branch and switch to new branch: 
 <pre> 
 git fetch origin pull/N/head:prN 
 git checkout prN 
 </pre> 

 h2. Release 

 h3. Move tag to different commit (e.g. after fixing some mistake) 

 # Remove tag from remote (if it has been pushed): 
 <pre> 
 git push origin :refs/tags/1.3 
 </pre> 
 # Force replacement of existing tag with one referencing most recent commit: 
 <pre> 
 git tag -fa 1.3 
 </pre> 
 # Push: 
 <pre> 
 git push origin 1.3 
 </pre>