Замечание
Последний раз данная статья обновлялась 14.10.2022, информация может быть устаревшей.
Reset branch
1
2
| git fetch origin
git reset --hard origin/main
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
| git init
git add .
git commit -m 'Description'
git commit -a -m 'Description' # коммитит все файлы, не требует выполнять add
git rm <file> # -f если файл уже в коммите
git rm --cached <file> # Удалить файл из индекса, оставив его при этом в рабочем каталоге
git mv <file_from> <file_to>
git status (-s --short)
git checkout .
git reset HEAD <file>
# Dry Run will tell you what files will be removed upon executing the clean command
git clean -n
# To remove untracked files using -f flag
git clean -f
# To remove untracked files inside a subfolder
git clean -f folderpath
# to delete untracked folders too
git clean -fd
# To remove ignore files, use the -x flag
git clean -fx
git clone [url]
git filter-branch --force --index-filter \
"git rm --cached --ignore-unmatch PATH-TO-YOUR-FILE-WITH-SENSITIVE-DATA" \
--prune-empty --tag-name-filter cat -- --all
git push origin --force --all
git push origin --force --tags
# Branches
git branch # Список веток
git branch <branch_name>
git checkout <branch_name>
git checkout -b <branch_name> # Предыдущие 2 команды в одну строку
# Слияние с master
git checkout master
git merge <branch_name>
git branch -d <branch_name> # Удаление ветки
git remote -v # внешний репозиторий
git remote add origin https://github.com/baikov/baikov.dev.git
# Merge/Rebase
git remote add upstream https://github.com/whoever/whatever.git
git fetch upstream
git rebase upstream/master
git merge upstream/master
# Rename
git branch -m <oldname> <newname>
# If you want to rename the current branch, you can do:
git branch -m <newname>
# If you want to push the local branch and reset the upstream branch:
git push origin -u <newname>
# And finally if you want to Delete the remote branch:
git push origin --delete <oldname>
# Stash
# только те изменения, которые еще не были индексированы (командой add)
git stash save --keep-index
# отменяет все индексированные и неиндексированные изменения в рабочей области, сохраняя их в карман (stash)
git stash save
# Восстановление несохраненных изменений
git stash apply
# удалить последнюю запись кармана
git stash drop
|
1
2
3
4
5
6
7
8
9
| # config list
git config -l
# local and global email
git config user.email
git config --global user.email
# set local email
git config user.email "my@email.com"
|
Показать изменения между stage и HEAD:
Показать изменения между Working Directory и HEAD:
Скопировать нужные коммиты
1
2
3
4
5
| # от A до B
git cherry-pick 'A^..B'
# от A до B исключив A
git cherry-pick 'A..B'
|
Push branch to remote
1
| git push origin feature
|
Полезное:
SO - Как вернуться (откатиться) к более раннему коммиту?
How to cherry-pick multiple commits
Ё…ый Git!!!