Skip to content

Asver77/git-tips

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Git Tips

Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚Ρ€ΡŽΠΊΠΈ ΠΈ совСты ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Git.

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ список? ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с CONTRIBUTING.md

English | δΈ­ζ–‡ | Русский

Tools:

  • git-tip - консольная ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π°, ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‰Π°Ρ использованиС всСх этих ΠΊΠΎΠΌΠ°Π½Π΄. Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ здСсь

P.S: ВсС эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² git version 2.7.4 (Apple Git-66)

Branch

Clean

Commit

Config

Diff

Index

Log

Merge

Push

Show

Stash

Tags

Π Π°Π·Π½ΠΎΠ΅

Branch

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° Π½Π΅Π΅

git checkout -b <branch-name>

Alternatives:

git branch <branch-name> && git checkout <branch-name>

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ Π±Π΅Π· Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

git checkout --orphan <branch-name>

БыстроС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

git checkout -

Бписок Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Π²Π΅Ρ‚ΠΎΠΊ

git branch -a

Бписок Π²Π΅Ρ‚ΠΎΠΊ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git branch -r

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π²Π΅Ρ‚ΠΊΠΈ (Π² Ρ‚ΠΎΠΌ числС ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ), Π° Ρ‚Π°ΠΊ ΠΆΠ΅ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ Π² Π½ΠΈΡ…

git branch -vv

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ

git branch -m <new-branch-name>

Alternatives:

git branch -m [<old-branch-name>] <new-branch-name>

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

git branch -d <local-branch-name>

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git push origin --delete <remote-branch-name>

Alternatives:

git push origin :<remote-branch-name>

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ

git rev-parse --abbrev-ref HEAD

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π²Π΅Ρ‚ΠΊΠΈ, Π½Π΅ слитыС Π² master

git checkout master && git branch --no-merged

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список Π²Π΅Ρ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ слиты с Π²Π΅Ρ‚ΠΊΠΎΠΉ master

git branch --merged master

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ feature Π½Π° master ΠΈ ΡΠ»ΠΈΡ‚ΡŒ Π΅Π΅ Π² мастСр

git rebase master feature && git checkout master && git merge -

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ слиты с master

git branch --merged master | grep -v '^\*' | xargs -n 1 git branch -d

Alternatives:

git branch --merged master | grep -v '^\*\|  master' | xargs -n 1 git branch -d # will not delete master if master is not checked out

Найти Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Ρ…Π΅ΡˆΠ΅ΠΌ

git branch -a --contains <commit-ish>

Alternatives:

git branch --contains <commit-ish>

Track upstream branch

git branch -u origin/mybranch

Clean

ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹

git clean -f

ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

git clean -f -d

Alternatives:

git clean -df

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² .gitignore

git clean -X -f

Before deleting untracked files/directory, do a dry run to get the list of these files/directories

git clean -n

Dry run (any command that supports dry-run flag should do)

git clean -fd --dry-run

Commit

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сообщСниС послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ откроСтся Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² настройках git. НСобходимо ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСкст сообщСния, ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€.

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ нСпосрСдствСнно ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -m (--message)

git commit --amend

# ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -m
git commit --amend -m "New message"

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ ΠΊΠΎΠΌΠΌΠΈΡ‚ Π±Π΅Π· измСнСния сообщСния ΠΊ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ

git commit --amend --no-edit

Π˜ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ имя Π°Π²Ρ‚ΠΎΡ€Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

git commit --amend --no-edit --author='Author Name <[email protected]>'

Reset author, after author has been changed in the global config

git commit --amend --reset-author --no-edit

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

git commit --only <file_path>

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚, обойдя Ρ…ΡƒΠΊΠΈ pre-commit ΠΈ commit-msg

git commit --no-verify

Alternatives:

git commit -n

ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ ΠΊΠ°ΠΊ исправлСниС ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ

git commit --fixup <SHA-1>

Config

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ ΠΈ всС псСвдонимы (alias)

git config --list

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ/Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ git

git config [--global] --edit

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ тСкстовый Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€

git config --global core.editor '$EDITOR'

Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ измСнСния ΠΏΡ€Π°Π² доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅

git config core.fileMode false

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ git Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΊ рСгистру

git config --global core.ignorecase false

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ автоматичСскоС исправлСниС ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ

git config --global help.autocorrect 1

ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚Π½ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Git

git config --global color.ui false

Specific color settings

git config --global <specific command e.g branch, diff> <true, false or always>

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ запись ΠΈΠ· глобального ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°

git config --global --unset <entry-name>

Reuse recorded resolution, record and reuse previous conflicts resolutions

git config --global rerere.enabled 1

ВсСгда Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ вмСсто слияния ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория

git config --global pull.rebase true

Alternatives:

#git < 1.7.9
git config --global branch.autosetuprebase always

ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹ (alias) для ΠΊΠΎΠΌΠ°Π½Π΄ Git

git config --global alias.<handle> <command> 
git config --global alias.st status

Diff

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

git diff

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС измСнСния (для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² индСксС ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Ρ‚Π°ΠΌ)

git diff HEAD

ИзмСнСния Π² Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² индСксС

git diff --cached

Alternatives:

git diff --staged

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ измСнСния Π² ΠΎΠ΄Π½Ρƒ строку

git diff --word-diff

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ²

git diff --name-only --diff-filter=U

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ всС ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅

git diff --name-only | uniq | xargs $EDITOR

Бписок всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅

git diff-tree --no-commit-id --name-only -r <commit-ish>

Index

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² индСкс

git add -i

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² индСкс Ρ‡Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°

git add -p

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· индСкса

git reset HEAD <file-name>

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· индСкса

git reset HEAD

Log

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ (ΠΎΡ‚-Π΄ΠΎ)

git log --since='FEB 1 2017' --until='FEB 14 2017'

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π·Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ

git log --no-merges --raw --since='2 weeks ago'

Alternatives:

git whatchanged --since='2 weeks ago'

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², сгрупировав ΠΈΡ… ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π°Π²Ρ‚ΠΎΡ€Π°

git shortlog

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ², ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π°Π²Ρ‚ΠΎΡ€Π°

git log --perl-regexp --author='^((?!excluded-author-regex).*)

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈ измСнСния Π² Π½ΠΈΡ… для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½)

git log --follow -p -- <file_path>

List only the root and merge commits

git log --first-parent

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹

git log --branches --not --remotes

Alternatives:

git log @{u}..
git cherry -v

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° отдСлСния ΠΎΡ‚ Π²Π΅Ρ‚ΠΊΠΈ master

git log --no-merges --stat --reverse master..

ΠšΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² Π²Π΅Ρ‚ΠΊΠ΅ branch-1, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² branch-2

git log branch-1 ^branch-2

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ GPG-сигнатуру Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

git log --show-signature

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ количСство строк, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»/ΡƒΠ΄Π°Π»ΠΈΠ» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ

git log --author='Your Name Here' --pretty=tformat: --numstat | gawk '{ add += <!-- @doxie.inject start -->; subs += <!-- @doxie.inject end -->; loc += <!-- @doxie.inject start --> - <!-- @doxie.inject end --> } END { printf "added lines: %s removed lines: %s total lines: %s
", add, subs, loc }' -

Alternatives:

git log --author='Your Name Here' --pretty=tformat: --numstat | awk '{ add += <!-- @doxie.inject start -->; subs += <!-- @doxie.inject end -->; loc += <!-- @doxie.inject start --> - <!-- @doxie.inject end --> } END { printf "added lines: %s, removed lines: %s, total lines: %s
", add, subs, loc }' - # on Mac OSX

Поиск Π² истории ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² ΠΏΠΎ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ

git log --all --grep='<given-text>'

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ (git notes)

git log --show-notes='*'

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ‚Π΅Π³ΠΎΠ² (вСрсий)

git log --pretty=oneline --graph --decorate --all

Alternatives:

gitk --all

Get first commit in a branch (from master)

git log master..<branch-name> --oneline | tail -1

Merge

Π‘Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ feature с master, объСдинив всС ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π²Π΅Ρ‚ΠΊΠΈ feature Π² ΠΎΠ΄ΠΈΠ½

ΠŸΡ€ΠΈ этом ΠΊΠΎΠΌΠΌΠΈΡ‚ слияния Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

git merge feature --squash

Push

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, пСрСзаписав ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ (force push)

git push --force

Alternatives:

git push -f

Forced push but still ensure you don't overwrite other's work

git push --force-with-lease <remote-name> <branch-name>

Show

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HEAD~1, HEAD~2 ΠΈ Ρ‚.Π΄. для просмотра ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ².

git show HEAD

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ измСнСния Π² ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ (ΠΏΠΎ Ρ…Π΅ΡˆΡƒ)

git show <commit-ish>

Stash

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния для отслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ²

git stash

Alternatives:

git stash save

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹

git stash -u

Alternatives:

git stash --include-untracked

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ измСнСния Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² индСксС

git stash --keep-index

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π° (Ρ„Π°ΠΉΠ»ΠΎΠ²)

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ

git stash -p

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список спрятанных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ

git stash list

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдниС спрятанныС измСнСния ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· стСка

git stash pop

Alternatives:

git stash apply stash@{0} && git stash drop stash@{0}

ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ послСдниС спрятанныС измСнСния Π±Π΅Π· удалСния ΠΈΡ… ΠΈΠ· стСка

git stash apply <stash@{n}>

Π˜Π·Π²Π»Π΅Ρ‡ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ· stash

git checkout <stash@{n}> -- <file_path>

Alternatives:

git checkout stash@{0} -- <file_path>

ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ stash

git stash clear

Alternatives:

git stash drop <stash@{n}>

Tags

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚Π΅Π³

git tag <tag-name>

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ΠΈ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git push --tags

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git tag -d <tag-name>

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ

git push origin :refs/tags/<tag-name>

Alternatives:

git push origin :<tag-name>
git push -d origin <tag-name>

Π Π°Π·Π½ΠΎΠ΅

Everyday Git in twenty commands or so

git help everyday

Show helpful guides that come with Git

git help -g

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ

git clone -b <branch-name> --single-branch https://github.com/user/repo.git

ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ с ΡƒΠΊΠ°Π·Π°Π½Ρ‹ΠΌ количСством ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ²

git clone https://github.com/user/repo.git --depth 1

Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git clone repo.bundle <repo-dir> -b <branch-name>

Alias: git undo

git config --global alias.undo '!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f'

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория ΠΈ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ состояниС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ ΠΊ Π½ΠΈΠΌ

git fetch --all && git reset --hard origin/master

Prunes references to remote branches that have been deleted in the remote

git fetch -p

Alternatives:

git remote prune origin

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡƒΠ»Π»-рСквСст Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ ΠΏΠΎ ID

git fetch origin pull/<id>/head:<branch-name>

Alternatives:

git pull origin pull/<id>/head:<branch-name>

Specific fetch reference

git fetch origin master:refs/remotes/origin/mymaster

List of all files till a commit

git ls-tree --name-only -r <commit-ish>

Git reset first commit

git update-ref -d HEAD

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ самый послСдний Ρ‚Π΅Π³ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠ΅

git describe --tags --abbrev=0

Revert: ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

git revert <commit-ish>

Revert: ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ слияниС (merge) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

git revert -m 1 <commit-ish>

Reset: ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ (сброс ΠΊ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρƒ)

git reset <commit-ish>

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ

git cherry -v master

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π²

git remote

Alternatives:

git remote show

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ URL ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ рСпозитория

git remote set-url origin <URL>

List references in a remote repository

git ls-remote git://git.kernel.org/pub/scm/git/git.git

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ

git remote add <remote-nickname> <remote-url>

Автокомплит Git-ΠΊΠΎΠΌΠ°Π½Π΄ Π² bash

curl http://git.io/vfhol > ~/.git-completion.bash && echo '[ -f ~/.git-completion.bash ] && . ~/.git-completion.bash' >> ~/.bashrc

ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ‚ΠΈ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cherry-pick

git checkout <branch-name> && git cherry-pick <commit-ish>

Undo local changes with the last content in head

git checkout -- <file_name>

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС отслСТиваСмы Ρ„Π°ΠΉΠ»Ρ‹

git ls-files -t

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС нСотслСТиваСмыС Ρ„Π°ΠΉΠ»Ρ‹

git ls-files --others

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹

git ls-files --others -i --exclude-standard

Create new working tree from a repository (git 2.5)

git worktree add -b <branch-name> <path> <start-point>

Create new working tree from HEAD state

git worktree add --detach <path> HEAD

НС ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» (Π±Π΅Π· удалСния)

УдаляСт Ρ„Π°ΠΉΠ» ΠΈΠ· git, сохраняя ΠΏΡ€ΠΈ этом Π΅Π³ΠΎ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию

git rm --cached <file_path>

Alternatives:

git rm --cached -r <directory_path>

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ всС субмодули

git submodule foreach git pull

Alternatives:

git submodule update --init --recursive
git submodule update --remote

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Π΅Ρ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ слиты Π² мастСр

git cherry -v master

Alternatives:

git cherry -v master <branch-to-be-merged>

Retrieve the commit hash of the initial revision

 git rev-list --reverse HEAD | head -1

Alternatives:

git rev-list --max-parents=0 HEAD
git log --pretty=oneline | tail -1 | cut -c 1-40
git log --pretty=oneline --reverse | head -1 | cut -c 1-40

Deploying git tracked subfolder to gh-pages

git subtree push --prefix subfolder_name origin gh-pages

Adding a project to repo using subtree

git subtree add --prefix=<directory_name>/<project_name> --squash [email protected]:<username>/<project_name>.git master

Get latest changes in your repo for a linked project using subtree

git subtree pull --prefix=<directory_name>/<project_name> --squash [email protected]:<username>/<project_name>.git master

Π­ΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ Π² Ρ„Π°ΠΉΠ» (ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚)

git bundle create <file> <branch-name>

ΠΡ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ‚ΠΊΡƒ master

git archive master --format=zip --output=master.zip

Ignore one file on commit (e.g. Changelog)

git update-index --assume-unchanged Changelog; git commit -a; git update-index --no-assume-unchanged Changelog

Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ измСнСния ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ пСрСмСщСния

git rebase --autostash

Show changes using common diff tools

git difftool -t <commit1> <commit2> <path>

Don’t consider changes for tracked file

git update-index --assume-unchanged <file_name>

Undo assume-unchanged

git update-index --no-assume-unchanged <file_name>

Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»

git checkout <deleting_commit>^ -- <file_path>

Restore file to a specific commit-hash

git checkout <commit-ish> -- <file_path>

Check if the change was a part of a release

git name-rev --name-only <SHA-1>

Squash fixup commits normal commits

git rebase -i --autosquash

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ список ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

git check-ignore *

Бтатус ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²

git status --ignored

Count unpacked number of objects and their disk consumption

git count-objects --human-readable

Prune all unreachable objects from the object database

git gc --prune=now --aggressive

Instantly browse your working repository in gitweb

git instaweb [--local] [--httpd=<httpd>] [--port=<port>] [--browser=<browser>]

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ

git show <branch_name>:<file_name>

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠΈΡ‚Ρ‹ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅

git rebase --interactive HEAD~2

Поиск ΠΊΠΎΠΌΠΌΠΈΡ‚Π° с Π±Π°Π³ΠΎΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ поиска

git bisect start                    # Search start 
git bisect bad                      # Set point to bad commit 
git bisect good v2.6.13-rc2         # Set point to good commit|tag 
git bisect bad                      # Say current state is bad 
git bisect good                     # Say current state is good 
git bisect reset                    # Finish search 

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ всС Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ, отсортировав ΠΈΡ… ΠΏΠΎ Π΄Π°Ρ‚Π΅ измСнСния

git for-each-ref --sort=-committerdate --format='%(refname:short)' refs/heads/

Find lines matching the pattern (regex or string) in tracked files

git grep --heading --line-number 'foo bar'

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚ΠΎΠ² Π² Π²Π΅Ρ‚ΠΊΠ΅

git rev-list --count <branch-name>

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚ΠΊΡƒ

git notes add -m 'Note on the previous commit....'

Apply commit from another repository

git --git-dir=<source-dir>/.git format-patch -k -1 --stdout <SHA1> | git am -3 -k

Найти ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΠΊΠ° Π΄Π²ΡƒΡ… Π²Π΅Ρ‚ΠΎΠΊ

diff -u <(git rev-list --first-parent BranchA) <(git rev-list --first-parent BranchB) | sed -ne 's/^ //p' | head -1

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€Π°, врСмя ΠΈ Ρ…Π΅Ρˆ-ΠΊΠΎΠΌΠΌΠΈΡ‚Π° послСднСго измСнСния для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Ρ„Π°ΠΉΠ»Π°

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с Ρ„Π»Π°Π³ΠΎΠΌ -s для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€Π° ΠΈ врСмя ΠΊΠΎΠΌΠΌΠΈΡ‚Π°

git blame <file-name>

ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΡ€Π°, врСмя ΠΈ Ρ…Π΅Ρˆ-ΠΊΠΎΠΌΠΌΠΈΡ‚Π° послСднСго измСнСния для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° строк

git blame <file-name> -L <start>,<end>

Show a Git logical variable

git var -l | <variable>

Preformatted patch file

git format-patch -M upstream..topic

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ рСпозитория

git rev-parse --show-toplevel

Generates a summary of pending changes

git request-pull v1.0 https://git.ko.xz/project master:for-linus

Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию нСотслСТиваСмых Ρ„Π°ΠΉΠ»ΠΎΠ²

git ls-files --others -i --exclude-standard | xargs zip untracked.zip

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published