reset -ი გამოიყენება მანამდე სანამ არ გავაკეთებთ push -ს,
ხოლო push -ის გაკეთების მერე ვიყენებთ revert -ს
# შლის ყველა დაუქომითებელ ცვლილებას
git reset --hard
# შლის ბოლო 2 commit-ს
git reset HEAD~2 --hard
# ქმნის ახალ Commit-ს ძველის გასაუქმებლად
# hash-ად უნდა მივუთითოთ ის hash-ი რომლის გაუქმებაც გვინდა
# გამოიყენება ერთი კონკრეტული commit-ის გასაუქმებლად
git revert <hash>
# აკოპირებს source-ის მდგომარეობას მიმდინარე სამუშაო ფაილში
git restore filename --source=<Branchname or HEAD~n>
# ფაილის დამატება და დამახსოვრება
git commit -am [message]
სახელის შეცვლა git -ის მეშვეობით
git mv old.txt new.txt
ოპერაციული სისტემიდან შეცვლილი ფაილების სწორად აღსაქმელად
git add -A
git add and commit with short message
git commit -am "commit messsage"
git commit --amend
ჩამოთვლისი ლოკალურ და რემოუთ ტოტებს
git branch -a
ტოტის შესაქმნელად
git branch newbranch
ტოტის შესაცვლელად
git checkout newbranch
ტოტისთვის სახელის შესაცვლელად
git branch -m old_branch_name new_branch_name
ტოტის წასაშლელად
git branch -d old_branch_name
მოაქვს მეტა მონაცემები remote repo-დან
git fetch origin master --all
იმისთვის რომ მარტივი იყოს დასამახსოვრებლად, სიტყვა merge -ს ერთერთი მნიშვნელობა არის შთანთქმა ან ჩაყლაპვა. შესაბამისად შეგვიძლია წარმოვიდგინოთ, როგორ ყლაპავს მიმდინარე ტოტი, მითითებულს
გადავერთოთ იმ ტოტზე რომელიშიც გვინდა გავაერთიანოთ სხვა ტოტი
git checkout master
git merege other_branch
--fast-forward
- (default param) როდესაც master-ზე არ მომხდარა ცვლილებები და ისე ერთიანდება, თითქოს არც ყოფილა განტოტვა.
--no-ff
- ისე ერთიანდება, თითქოს ყოფილა განტოტვა.
კონფლიქტების გადაწყვეტა
git mergetool
ცვლის ტოტის საწყისს
git checkout otherbranch
git rebase master
git rebase --abort
git rebase --continue
git pull --rebase origin master
დროის ლიმიტი
git log --since="3 days ago" --oneline
კონკრეტული ფაილის ისტორიის სანახავად
git log -- filename --oneline
დეტალური ინფოს სანახავად
git show somehash
გლობალური ალიასები ინახება ამ მისამართზე
cd ~/.gitconfig
გლობალური ალიასის შესაქმნელად
git config --global alias.somealias "somename --param1 --param2 --param3"
განსხვავების სანახავად 2 ტოტს შორის
git diff branch1 branch2
git difftool branch1 branch2
სიტყვა ნიშნავს დამალვას, დაფარულ საგანძურს
დროებით დამალვა (კომენტარებით)
git stash save "comment message"
დროებით დამალვა (კომენტარებით)
-u
for untrecked
git stash -u save "comment message"
დამალულის სიის ჩვენება
git stash list
კონკრეტული საგანძურის ნახვა
git stash show@{n}
საგანძურის დაბეუნება
git stash apply stash@{1}
git stash drop stash@{1}
apply & drop last stash
git stash pop
git stash branch new_branch_name
ყველა საგანძურის წაშლა
git stash clear
git tag tagname
git tag --list
git show tagname
git show --delete tagname
release
git tag -a v1.0.0
ტეგის მინიჭება კონკრეტული ქომითისთვის
git tag -a tagname sha_of_commit
ტეგის გადატანა სხვა ქომითისთვის
git tag -a tagname -f sha_of_commit
კონკრეტული ტეგის გადატანა GitHub-ზე
რაც თავის მხრივ ქმნის zip ფაილის გადმოწერის საშუალებას.
git push origin tagname
ტეგების გადატანა GitHub-ზე
git push origin master --tags
ტეგების წაშლა GitHub-დან
push nothing to this tag name
რჩება ლოკალურად მაგრამ იშლება GitHub-დან
git push origin :tagname