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)