Всички инструменти
Безплатно

Търсим, удобен за печат справочник за Git — конфигурация, клонове, сливане, rebase, отдалечени хранилища, stash, тагове и отмяна на промени. Безплатно.

Настройка и конфигурация

10
git config --global user.name "Jane Doe"
Задава името към вашите комити
git config --global user.email "jane@example.com"
Задава имейла към вашите комити
git config --global init.defaultBranch main
Новите хранилища да започват с клон "main"
git config --global core.editor "code --wait"
Използва VS Code като редактор по подразбиране за Git
git config --global pull.rebase true
Rebase вместо merge при pull
git config --global alias.co checkout
Създава псевдоним за пряк път (git co)
git config --global --list
Извежда всички глобални конфигурационни стойности
git config user.email
Показва имейла за текущото хранилище
git config --global color.ui auto
Включва цветен изход в командния ред
git help <command>
Отваря страницата с ръководство за команда

Създаване и клониране на хранилища

9
git init
Инициализира ново хранилище в текущата папка
git init my-project
Създава ново хранилище в нова директория
git clone https://example.com/repo.git
Клонира отдалечено хранилище по HTTPS
git clone git@example.com:user/repo.git
Клонира отдалечено хранилище по SSH
git clone <url> my-dir
Клонира в директория с конкретно име
git clone --depth 1 <url>
Плитко клониране само с последния комит
git clone --branch dev <url>
Клонира и превключва към конкретен клон
git clone --recurse-submodules <url>
Клонира и инициализира всички подмодули
git remote add origin <url>
Прикача отдалечено към съществуващо локално хранилище

Подготовка и комитване

11
git add file.txt
Подготвя един файл за следващия комит
git add .
Подготвя всички промени в текущата директория
git add -A
Подготвя всички промени, вкл. изтриванията
git add -p
Интерактивно подготвя избрани парчета
git commit -m "Add login form"
Комитва подготвените промени със съобщение
git commit -am "Fix typo"
Подготвя проследяваните файлове и комитва в една стъпка
git commit --amend
Редактира последния комит
git commit --amend --no-edit
Добавя подготвените промени към последния комит
git rm file.txt
Премахва файл и подготвя изтриването
git mv old.txt new.txt
Преименува или премества файл и го подготвя
git reset file.txt
Изважда файл от подготовка, но запазва промените

Клонове

10
git branch
Извежда всички локални клонове
git branch -a
Извежда локалните и проследяващите отдалечени клонове
git switch -c feature/login
Създава нов клон и превключва към него
git switch main
Превключва към съществуващ клон
git checkout -b hotfix
Класически начин за създаване и превключване на клонове
git branch -m old-name new-name
Преименува клон
git branch -d feature/login
Изтрива слят локален клон
git branch -D feature/login
Принудително изтрива неслят локален клон
git push origin --delete feature/login
Изтрива клон в отдалеченото хранилище
git switch -
Връща се към предишния клон

Сливане и rebase

10
git merge feature/login
Слива клон в текущия
git merge --no-ff feature/login
Слива и винаги създава merge комит
git merge --squash feature/login
Обединява клон в една подготвена промяна
git merge --abort
Отменя сливане с конфликти
git rebase main
Пренася комитите на текущия клон върху main
git rebase -i HEAD~3
Интерактивно редактира последните 3 комита
git rebase --continue
Продължава rebase след разрешаване на конфликти
git rebase --abort
Отменя текущ rebase
git cherry-pick <hash>
Прилага единичен комит върху текущия клон
git mergetool
Стартира инструмент за разрешаване на конфликти при сливане

Отдалечени и синхронизация

11
git remote -v
Извежда конфигурираните отдалечени и техните URL адреси
git remote add upstream <url>
Добавя второ отдалечено с име upstream
git remote set-url origin <url>
Променя URL адреса на съществуващо отдалечено
git fetch
Изтегля отдалечените промени без сливане
git fetch --all --prune
Изтегля всички отдалечени и премахва остарелите клонове
git pull
Изтегля и интегрира отдалечените промени
git pull --rebase
Pull и rebase на локалните комити отгоре
git push
Качва локалните комити в отдалеченото
git push -u origin main
Push и задава upstream проследяващ клон
git push --force-with-lease
Безопасен force-push без презаписване на чужди
git push origin --tags
Качва всички локални тагове в отдалеченото

Преглед и сравнение

10
git status
Показва подготвени, неподготвени и непроследявани файлове
git status -s
Показва статус в компактен кратък формат
git diff
Показва неподготвените промени спрямо индекса
git diff --staged
Показва промените, подготвени за следващия комит
git diff main..feature
Сравнява два клона
git diff HEAD~1 HEAD
Сравнява последния комит с неговия родител
git show <hash>
Показва детайлите и diff на един комит
git show HEAD:file.txt
Показва файл такъв, какъвто е бил в комит
git log --stat
Показва комитите с обобщение на променените файлове
git shortlog -sn
Брои комитите, групирани по автор

Отмяна на промени

10
git restore file.txt
Отхвърля неподготвените промени във файл
git restore --staged file.txt
Изважда файл от подготовка, но запазва промените
git restore --source=HEAD~1 file.txt
Възстановява файл от по-ранен комит
git checkout -- file.txt
Класически начин за отхвърляне на локални промени
git reset --soft HEAD~1
Отменя последния комит, запазва промените подготвени
git reset --mixed HEAD~1
Отменя последния комит, оставя промените неподготвени
git reset --hard HEAD~1
Отменя последния комит и отхвърля промените
git revert <hash>
Създава нов комит, който отменя друг комит
git clean -fd
Изтрива непроследяваните файлове и директории
git clean -nd
Преглед какво би премахнал clean

Stash

10
git stash
Запазва некомитнатите промени и почиства дървото
git stash push -m "wip"
Stash на промените с описателно съобщение
git stash -u
Stash, включително непроследяваните файлове
git stash list
Извежда всички записани stash промени
git stash show -p
Показва diff на последния stash
git stash apply
Прилага отново последния stash и го запазва
git stash pop
Прилага отново последния stash и го премахва
git stash apply stash@{2}
Прилага отново конкретен stash по индекс
git stash drop stash@{0}
Изтрива един stash запис
git stash clear
Изтрива всички stash записи

Тагове

9
git tag
Извежда всички тагове
git tag v1.0.0
Създава лек таг при HEAD
git tag -a v1.0.0 -m "Release 1.0.0"
Създава анотиран таг със съобщение
git tag -a v1.0.0 <hash>
Тагва конкретен минал комит
git show v1.0.0
Показва детайли за таг
git push origin v1.0.0
Качва един таг в отдалеченото
git push origin --tags
Качва всички локални тагове в отдалеченото
git tag -d v1.0.0
Изтрива таг локално
git push origin --delete v1.0.0
Изтрива таг в отдалеченото

Логове и история

12
git log
Показва пълната история на комитите
git log --oneline
Показва компактен лог по един ред на комит
git log --oneline --graph --all
Визуализира клоновете като ASCII графика
git log -p
Показва историята на комитите с diff
git log --author="Jane"
Филтрира историята по автор
git log --since="2 weeks ago"
Филтрира историята по период от дати
git log --pretty=format:"%h %an %s"
Персонализира формата на лога
git blame file.txt
Показва кой последно е променил всеки ред
git reflog
Показва историята къде е бил HEAD
git bisect start
Започва двоично търсене за лош комит
git bisect good <hash>
Маркира комит като добър по време на bisect
git bisect bad
Маркира текущия комит като лош

Няма запис, който да съответства на „:q“.


Сподели
Нуждаете се от помощ?
Открихте проблем с този инструмент? Кажете ни.
Докладване на проблем

Добавете този безплатен инструмент към собствения си уебсайт — копирайте и поставете кода по-долу.