Git tips, tricks and some explanations
Git tips, tricks and some explanations
Полезные встроенные графические инструменты (для винды):
gitk - Графический просмотрщик для коммитов
git gui - Чё-то наподобие среды для GIT (ну GUI есть гуй :-)
Создаём Псевдонимы:
gitk - Графический просмотрщик для коммитов
git gui - Чё-то наподобие среды для GIT (ну GUI есть гуй :-)
Создаём Псевдонимы:
$ git config --global alias.ch checkout
$ git config --global alias.br branch
$ git config --global alias.co commit
$ git config --global alias.st status
$ git config --global alias.visual '!gitk'
Пример использования:
$ git st
Чтобы создать ветку и сразу же перейти на неё, вы можете выполнить команду:$ git checkout -b имя_ветки
Допустим, вы разобрались с проблемой hotfix и готовы объединить эту ветку и свой master
.
Чтобы сделать это, мы сольём веткуимя_ветки
в веткуmaster
.
Всё, что вам нужно сделать, — перейти на ту ветку, в которую вы хотите слить свои изменения,
и выполнить команду git merge
:
$ git checkout master (переход в master)
$ git merge
имя_ветки (сливание[объединение])
Вы можете удалить ветку с помощью опции -d при использовании git branch: $ git branch -d
имя_ветки
$ git add . | добавить все файлы, кроме удалённых |
$ git add -u | добавить удаленные и измененные (без новых) |
$ git add -A | добавить все |
$ git status -uno $ git status -u |
показать статус без неотслеживаемых файлов |
$ git commit -a | слежение за файлами |
$ git commit -v | добавление в описание лога изменений в виде diff-a |
как убрать файл из отслеживания:
$ git rm --cached readme.txt
убрать из отслеживания все файлы которые были изменены в текущем каталоге
(-r --> рекурсивно)
(-r --> рекурсивно)
$ git rm --cached -r .
$ git rm --cached log/\*.logубрать из отслеживания все фалы в каталоге log
отмена последнего коммита (файлы останутся в стейдже(индексе)):
$ git reset HEAD~1 --soft
замещение последнего коммита без правки сообщения:
$ git commit --amend --no-editзамещение последнего коммита c правкой сообщения:
$ git commit --amend -m " <new-message>"
если изменения уже запушены (не рекомендуется в распределённых командах, буде больно))
$ git commit --amend -m "<new-message>"
$ git push --force
How to change author of the git commit (great article on dev.to) and a few answers from Stack Overflow
прячем изменения от коммита: git stash
восстанавливаем спрятанное git stash apply
Игнорирование файлов в Git – Zencoder
Отмена последнего коммита в git
BigMax notes: Какая разница между .gitkeep и .gitignore
поиск строки (например имени функции) по всему репозиторию (в результате вы
получите коммиты в которых упоминалась данная строка:
git log -S someMethod --oneline
чтобы получить историю коммитов, в которых изменялся конкретный файл, можно
использовать следующую команду:
git log --oneline -- filename
как создать ветку без истории (без парента) сиротку ))) в три шага/
how to create branch without parent(history) in three steps
$ git checkout --orphan <name_you_choose_for_orphan_branch>
$ git commit
$ git push <remote-name> <branch-name>
git add - Difference between "git add -A" and "git add ." - Stack Overflow
Если вы хотите использовать графические инструменты для разрешения конфликтов, можете выполнить команду git mergetool
, которая запустит соответствующий графический инструмент и покажет конфликтные ситуациипрячем изменения от коммита: git stash
восстанавливаем спрятанное git stash apply
Игнорирование файлов в Git – Zencoder
Отмена последнего коммита в git
BigMax notes: Какая разница между .gitkeep и .gitignore
if we want to store empty folder📂 we need to put .gitkeep file inside this 📂. This file is a special placeholder
вот ещё полезное про .gitignore Ignore files in your Git repo - Azure Repos | Microsoft Docs (временное отключение отслеживания для конкретных файлов)
Beautiful log (1 row per commit): git log --graph --oneline --all --decorate
Beautiful log (1 row per commit): git log --graph --oneline --all --decorate
How to git log in reverse order? git log --reverse
How to git log in reverse order with a numbering? git log --reverse --oneline --all | cat -n
How to push all branches altogether git push --allСкорая помощь по GIT - http://firstaidgit.io/
и ещё чуть-чуть:
http://eax.me/git-commands/
Git: наглядная справка
git add -p and git add -i are two different Git commands used for working with the index (staging area) and selectively adding changes to your commit. Here's the difference between them:
git add -p focuses on selectively adding changes within specific files, while
git add -i provides a broader range of operations for index management.
changing multiple commit messages in a whole git repo:
Use the git rebase -i HEAD~n command to display a list of the last n commits in your default text editor. Replace pick with reword before each commit message you want to change.
Use the git rebase -i HEAD~n command to display a list of the last n commits in your default text editor. Replace pick with reword before each commit message you want to change.
Comments