-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathgit.mk
More file actions
138 lines (109 loc) · 3.85 KB
/
Copy pathgit.mk
File metadata and controls
138 lines (109 loc) · 3.85 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
########################################################################
#
# Makefile template for Version Control - git
#
# Time-stamp: <Friday 2026-02-20 10:54:17 +1100 Graham Williams>
#
# Copyright 2018-2024 (c) Graham.Williams@togaware.com
#
# License: Creative Commons Attribution-ShareAlike 4.0 International.
#
########################################################################
define GIT_HELP
git:
info Identify the git repository;
status Status listing untracked files;
qstatus A quieter status ignoring untracked files;
enter Do a git status, fetch, and rebase
exit Do a git status
push
pull
fetch Update local repo from remote.
stash Stash changes to allow a rebase.
merge Update local repo with remote updates.
rebase Rebase local repo to include remote in history.
pop Pop the stash.
main Checkout the main branch;
dev Checkout the dev branch;
log
blog Show a brief log;
flog Show the full log;
gdiff
vdiff Show a visual diff using meld.
upstream Merge from upstrem to local repo.
endef
export GIT_HELP
help::
@echo "$$GIT_HELP"
info:
@echo "-------------------------------------------------------"
git config --get remote.origin.url
@echo "-------------------------------------------------------"
status:
@echo "-------------------------------------------------------"
git status
@echo "-------------------------------------------------------"
qstatus:
@echo "-------------------------------------------------------"
git status --untracked-files=no
@echo "-------------------------------------------------------"
diff:
@echo "-------------------------------------------------------"
git diff
@echo "-------------------------------------------------------"
enter:: status fetch rebase
exit:: status push
# Use :: to allow push to be augmented in other makefiles.
push::
@echo "-------------------------------------------------------"
git push
@echo "-------------------------------------------------------"
pull:
@echo "-------------------------------------------------------"
git pull --stat
@echo "-------------------------------------------------------"
fetch:
@echo "-------------------------------------------------------"
git fetch
@echo "-------------------------------------------------------"
stash:
@echo "-------------------------------------------------------"
git stash
@echo "-------------------------------------------------------"
rebase:
@echo "-------------------------------------------------------"
git rebase
@echo "-------------------------------------------------------"
pop:
@echo "-------------------------------------------------------"
git stash pop
@echo "-------------------------------------------------------"
main:
@echo "-------------------------------------------------------"
git checkout main
@echo "-------------------------------------------------------"
dev:
@echo "-------------------------------------------------------"
git checkout $(USER)/dev
@echo "-------------------------------------------------------"
log:
@echo "-------------------------------------------------------"
git --no-pager log --stat --max-count=10
@echo "-------------------------------------------------------"
blog:
@echo "-------------------------------------------------------"
git --no-pager log --pretty=format:"%h %ad %s" --date=short --max-count=40
@echo "-------------------------------------------------------"
flog:
@echo "-------------------------------------------------------"
git --no-pager log
@echo "-------------------------------------------------------"
gdiff:
@echo "-------------------------------------------------------"
git --no-pager diff --color
@echo "-------------------------------------------------------"
vdiff:
git difftool --tool=meld
upstream:
git fetch upstream
git merge upstream/main