jenwachter
10/8/2013 - 12:17 PM

Git stuff

Git stuff

# change the current branch to be master
git checkout better_branch
git merge --strategy=ours master
git checkout master
git merge better_branch

# git clone with submodules
git clone --recursive git://github.com/foo/bar.git folderName

# rename folder to Folder on case insensitive file system
git mv folder tempfolder
git mv tempfolder Folder

# add submodule
git submodule add <ref>
git submodule init
git submodule update

# add a remote repo
git remote add origin <repo>
 
# rename local branch
git branch -m <newname>

# remove file from repo with deleting from filesystem
git rm --cached file.txt

# delete all tags in a local repo
git tag -d `git tag | grep -E '.'`

# delete all tags in the remote repo
git ls-remote --tags origin | awk '/^(.*)(\s+)(.*[a-zA-Z0-9])$/ {print ":" $2}' | xargs
git push origin

# sync with fork
git remote add upstream <forked repo>
git fetch upstream
git checkout master
git merge master/upstream
git push origin master

# rebase
git rebase -i HEAD~4
## dd to remove commits to omit