All pastes #2090510 Raw Edit

Anonymous

public text v1 · immutable
#2090510 ·published 2011-10-16 16:29 UTC
rendered paste body
Download sources:
git clone git://github.com/TrinityCore/TrinityCore.git

Download sources in custom folder:
git clone git://github.com/TrinityCore/TrinityCore.git <folder_name>

Update sources for up-to-date version:
git pull origin master

Show all branches (local + remote):
git branch -a

Download 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 branch

Switch branch:
git checkout <branch>

Show modifications - usually used when you commit something to your repo:
git status

Create patch from modified sources:
git diff > <patch_name>.patch

Create patch from different branches:
git diff master <branch> -p > <patch_name>.patch 
git diff master <branch> > <patch_name>.patch

Create patch from different commits:
git diff <commit_hash_1> <commit_hash_2> > <patch_name>.patch
git diff 719ffeb414c97e09469b 52cd2cbd7eb62648ae13 > <patch_name>.patch

Apply patch to sources:
git apply < <patch_name>.patch

Apply patch to sources with creating of new files:
patch -p1 < <patch_name>.patch

Revert applied patch:
patch -p1 -R < <patch_name>.patch

Add 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@domain.example>" -m "<description>"

Show log changes:
git log
git log --format=oneline

Revert all changes in source code:
git reset --hard

Remove all except original source files:
git clean -f -x -d

Switch to master branch:
git checkout master

Delete specific branch:
git branch <branch> -D

Download 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~10

Switch to specific revision
1. Find commit's hash for specific revision:
git log --grep=Core/DBLayer

2. 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 70a45be1594c43e09f7103c910f11a0476f88b52

Undo last push to your remote repository:
git push -f origin HEAD^:master
or
git rebase -i origin/<branch>~1
git rebase --abort
git push origin +<branch>
vim -> delete everything and type: noop

Get all commits from specific one like patch files:
git format-patch --full-index 52499b03ea8c86ab536c2025c3629b8883f591f2

Get 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 git@github.com:<username>/TrinityCore.git <folder_name>
cd ./<folder_name>
git remote add -f -t master -m master upstream <remote_repository>
git merge upstream/master

Download 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 =)