Manage Git Branches

Sorry, this page is kind of trash. It has some old notes of mine & I need to clean it all up... I don't know if I will.

Add a branch, work, then merge changes

  1. Currently on existing_branch
  2. git checkout -b new_branch_name
  3. do work on new_branch_name & commit & push
  4. git checkout existing_branch
  5. git merge new_branch_name

delete a branch

  1. Be ABSOLUTELY sure that you don't need the branch any more
  2. consider doing git checkout -b archive-branch_name; git push -u origin archive-branch_name;
  3. Remote: git push origin --delete branch_name
  4. Locally: git branch -d branch_name
    • Note the lowercase -d. This means the branch will only be deleted if it is fully merged upstream.
    • If you use uppercase -D, it's like -d --force, which will delete regardless of merge status

Old Notes

These are old notes that seriously need to be cleaned up

# good stuff to remember  
# delete a branch on the remote repository  
git push origin --delete branch_name  
# delete a tag on the remote repository  
git push --delete origin tagname  
# not really sure what this is  
git remote update  
git fetch --all --prune   
# create a branch  
git checkout -b branch_name  
# - edit files  
git add -A  
git commit -m "message"  
git push origin branch_name  
# create a tag  
git tag -a tag_name -m "this version rocks"  
git push origin tag_name  
# get local copy of remote repository  
git clone  
# --creating a new release version  
# create release branch if not exists  
# switch to release branch  
# make necessary changes to composer.json & any other files  
git add -A  
git commit -m "message"  
git push origin release  
# create tag if not exists  
git push origin tag_name  
# --create a new release version with existing release branch  
git checkout release  
git merge master  
# make any changes to files, if needed  
git add -A  
git commit -m "release version x.y.z"  
git push origin release  
git tag -a x.y.z -m "release version"  
git push origion x.y.z  
# --delete a commit, but keep the files  
git log  
git reset --soft ID_NUMBER_FROM_LOG    
# then make your new commits & pushes as needed  
# -list branches