Since TrinityCore moved to git, I think this commands will be useful for all users. If you have some interesting commands, tricks or solutions for non-standard tasks - please, share. Download sources: git clone git://github.com/TrinityCore/TrinityCore.gitDownload sources in custom folder: git clone git://github.com/TrinityCore/TrinityCore.git <folder_name>Update sources for up-to-date version: git pull origin masterShow all branches (local + remote): git branch -aDownload sources from specific branch: git clone git://github.com/TrinityCore/TrinityCore.git
git checkout -b <branch> origin/<remote_branch>Create new branch: git branch <branch>Show current branch: git branchSwitch branch: git checkout <branch>Show modifications - usually used when you commit something to your repo: git statusShow differences between two branches: git diff <branch_1>..<branch_2>
git diff master..<branch>
git diff <branch> (diff with master)Create patch from modified sources: git diff > <patch_name>.patchCreate patch from different branches: git diff master <branch> -p > <patch_name>.patch
git diff master <branch> > <patch_name>.patchCreate patch from different commits: git diff <commit_hash_1> <commit_hash_2> > <patch_name>.patch
git diff 719ffeb414c97e09469b 52cd2cbd7eb62648ae13 > <patch_name>.patchApply patch to sources: git apply < <patch_name>.patchApply patch to sources with creating of new files: patch -p1 < <patch_name>.patchRevert applied patch: patch -p1 -R < <patch_name>.patchAdd all modifications to sources: git add *Add single modifications to sources: git add <file_name>Create commit: git commit -a -m "<description>"Create commit with author: git commit --author="name <
[email protected]>" -m "<description>"Show log changes: git log
git log --format=onelineAdvanced log view: git log --oneline --author/commiter=<author>
git log --since/after/before/until=<date>
git log --pretty=format:<string>
git log --summary
git log --stat
git log --helpRevert all changes in source code: git reset --hardRemove all except original source files: git clean -f -x -dSwitch to master branch: git checkout masterDelete specific branch: git branch <branch> -DDownload specific revision of sources (for example 10 revisions below): git clone git://github.com/TrinityCore/TrinityCore.git
cd ./TrinityCore
git checkout master
git reset HEAD~10Switch to specific revision 1. Find commit's hash for specific revision: git log --grep=Core/DBLayer2. Find needed commit's hash. Like this one: ...
commit 70a45be1594c43e09f7103c910f11a0476f88b52
...3. Revert to specific revision with creation of new branch "DBLayer": git checkout -b DBLayer 70a45be1594c43e09f7103c910f11a0476f88b52Undo last push to your remote repository: git push -f origin HEAD^:masteror git rebase -i origin/<branch>~1
git rebase --abort
git push origin +<branch>
vim -> delete everything and type: noopGet all commits from specific one like patch files: git format-patch --full-index 52499b03ea8c86ab536c2025c3629b8883f591f2Get cherry-pick patch from remote repository: git log --reverse --pretty=tformat:'git cherry-pick %h # %s' | grep "\[patch"Merge remote branch to your repository: git clone
[email protected]:<username>/TrinityCore.git <folder_name>
cd ./<folder_name>
git remote add -f -t master -m master upstream <remote_repository>
git merge upstream/masterDownload remote fork to local repository: git remote add upstream git://github.com/<username>/TrinityCore.git
git fetch upstream
git checkout -b <branch> upstream/<remote_branch>
git pull upstream <remote_branch> Credits goes to ru-mangos community, google and github help topics =]