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