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
- Currently on existing_branch
-
git checkout -b new_branch_name
- do work on new_branch_name & commit & push
-
git checkout existing_branch
-
git merge new_branch_name
delete a branch
- Be ABSOLUTELY sure that you don't need the branch any more
- consider doing
git checkout -b archive-branch_name; git push -u origin archive-branch_name;
- Remote:
git push origin --delete branch_name
- 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
- Note the lowercase
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 https://domain.com/repository-uri
# --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