Git tips, tricks and some explanations

Git tips, tricks and some explanations

Полезные встроенные графические инструменты (для винды):
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 --> рекурсивно)
$ git rm --cached -r .  
убрать из отслеживания все фалы в каталоге log
git rm --cached 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 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
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.


Comments

Popular posts from this blog

Открываем порт для сервера Minecraft на роутере mikrotik (команда для терминала в WinBox)

Интересное о Формальдегиде