@fredlackey/devutils 0.0.17 → 0.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (331) hide show
  1. package/README.md +32 -150
  2. package/package.json +5 -82
  3. package/bin/dev.js +0 -16
  4. package/files/README.md +0 -0
  5. package/files/claude/.claude/commands/setup-context.md +0 -3
  6. package/files/monorepos/_archive/README.md +0 -36
  7. package/files/monorepos/_legacy/README.md +0 -36
  8. package/files/monorepos/ai-docs/README.md +0 -33
  9. package/files/monorepos/apps/README.md +0 -24
  10. package/files/monorepos/docs/README.md +0 -40
  11. package/files/monorepos/packages/README.md +0 -25
  12. package/files/monorepos/research/README.md +0 -29
  13. package/files/monorepos/scripts/README.md +0 -24
  14. package/src/cli.js +0 -72
  15. package/src/commands/README.md +0 -41
  16. package/src/commands/configure.js +0 -199
  17. package/src/commands/identity.js +0 -1630
  18. package/src/commands/ignore.js +0 -247
  19. package/src/commands/install.js +0 -526
  20. package/src/commands/setup.js +0 -246
  21. package/src/commands/status.js +0 -223
  22. package/src/commands/update.js +0 -142
  23. package/src/commands/version.js +0 -100
  24. package/src/completion.js +0 -284
  25. package/src/constants.js +0 -45
  26. package/src/ignore/claude-code.txt +0 -10
  27. package/src/ignore/docker.txt +0 -18
  28. package/src/ignore/linux.txt +0 -23
  29. package/src/ignore/macos.txt +0 -36
  30. package/src/ignore/node.txt +0 -55
  31. package/src/ignore/terraform.txt +0 -37
  32. package/src/ignore/vscode.txt +0 -18
  33. package/src/ignore/windows.txt +0 -35
  34. package/src/index.js +0 -0
  35. package/src/installs/README.md +0 -399
  36. package/src/installs/adobe-creative-cloud.js +0 -546
  37. package/src/installs/adobe-creative-cloud.md +0 -605
  38. package/src/installs/appcleaner.js +0 -321
  39. package/src/installs/appcleaner.md +0 -699
  40. package/src/installs/apt-transport-https.js +0 -390
  41. package/src/installs/apt-transport-https.md +0 -678
  42. package/src/installs/atomicparsley.js +0 -642
  43. package/src/installs/atomicparsley.md +0 -795
  44. package/src/installs/aws-cli.js +0 -797
  45. package/src/installs/aws-cli.md +0 -727
  46. package/src/installs/balena-etcher.js +0 -710
  47. package/src/installs/balena-etcher.md +0 -761
  48. package/src/installs/bambu-studio.js +0 -1143
  49. package/src/installs/bambu-studio.md +0 -780
  50. package/src/installs/bash-completion.js +0 -575
  51. package/src/installs/bash-completion.md +0 -833
  52. package/src/installs/bash.js +0 -417
  53. package/src/installs/bash.md +0 -993
  54. package/src/installs/beyond-compare.js +0 -603
  55. package/src/installs/beyond-compare.md +0 -813
  56. package/src/installs/brave-browser.js +0 -968
  57. package/src/installs/brave-browser.md +0 -650
  58. package/src/installs/build-essential.js +0 -529
  59. package/src/installs/build-essential.md +0 -977
  60. package/src/installs/ca-certificates.js +0 -618
  61. package/src/installs/ca-certificates.md +0 -937
  62. package/src/installs/caffeine.js +0 -508
  63. package/src/installs/caffeine.md +0 -839
  64. package/src/installs/camtasia.js +0 -596
  65. package/src/installs/camtasia.md +0 -762
  66. package/src/installs/chatgpt.js +0 -476
  67. package/src/installs/chatgpt.md +0 -814
  68. package/src/installs/chocolatey.js +0 -456
  69. package/src/installs/chocolatey.md +0 -661
  70. package/src/installs/chrome-canary.js +0 -419
  71. package/src/installs/chrome-canary.md +0 -641
  72. package/src/installs/chromium.js +0 -667
  73. package/src/installs/chromium.md +0 -838
  74. package/src/installs/claude-code.js +0 -576
  75. package/src/installs/claude-code.md +0 -1173
  76. package/src/installs/cloudflare-warp.js +0 -900
  77. package/src/installs/cloudflare-warp.md +0 -1047
  78. package/src/installs/comet-browser.js +0 -588
  79. package/src/installs/comet-browser.md +0 -731
  80. package/src/installs/curl.js +0 -379
  81. package/src/installs/curl.md +0 -714
  82. package/src/installs/cursor.js +0 -579
  83. package/src/installs/cursor.md +0 -970
  84. package/src/installs/dbeaver.js +0 -924
  85. package/src/installs/dbeaver.md +0 -939
  86. package/src/installs/dbschema.js +0 -692
  87. package/src/installs/dbschema.md +0 -925
  88. package/src/installs/dependencies.md +0 -453
  89. package/src/installs/development-tools.js +0 -600
  90. package/src/installs/development-tools.md +0 -977
  91. package/src/installs/docker.js +0 -1029
  92. package/src/installs/docker.md +0 -1109
  93. package/src/installs/drawio.js +0 -1019
  94. package/src/installs/drawio.md +0 -795
  95. package/src/installs/elmedia-player.js +0 -347
  96. package/src/installs/elmedia-player.md +0 -556
  97. package/src/installs/ffmpeg.js +0 -889
  98. package/src/installs/ffmpeg.md +0 -852
  99. package/src/installs/file.js +0 -464
  100. package/src/installs/file.md +0 -987
  101. package/src/installs/gemini-cli.js +0 -811
  102. package/src/installs/gemini-cli.md +0 -1153
  103. package/src/installs/git.js +0 -400
  104. package/src/installs/git.md +0 -907
  105. package/src/installs/gitego.js +0 -949
  106. package/src/installs/gitego.md +0 -1172
  107. package/src/installs/go.js +0 -931
  108. package/src/installs/go.md +0 -958
  109. package/src/installs/google-antigravity.js +0 -913
  110. package/src/installs/google-antigravity.md +0 -1075
  111. package/src/installs/google-chrome.js +0 -833
  112. package/src/installs/google-chrome.md +0 -862
  113. package/src/installs/gpg.js +0 -480
  114. package/src/installs/gpg.md +0 -1056
  115. package/src/installs/homebrew.js +0 -1033
  116. package/src/installs/homebrew.md +0 -988
  117. package/src/installs/imageoptim.js +0 -968
  118. package/src/installs/imageoptim.md +0 -1119
  119. package/src/installs/installers.json +0 -4032
  120. package/src/installs/installers.json.tmp +0 -3953
  121. package/src/installs/jq.js +0 -400
  122. package/src/installs/jq.md +0 -809
  123. package/src/installs/keyboard-maestro.js +0 -719
  124. package/src/installs/keyboard-maestro.md +0 -825
  125. package/src/installs/kiro.js +0 -864
  126. package/src/installs/kiro.md +0 -1015
  127. package/src/installs/latex.js +0 -789
  128. package/src/installs/latex.md +0 -1095
  129. package/src/installs/lftp.js +0 -356
  130. package/src/installs/lftp.md +0 -907
  131. package/src/installs/lsb-release.js +0 -346
  132. package/src/installs/lsb-release.md +0 -814
  133. package/src/installs/messenger.js +0 -847
  134. package/src/installs/messenger.md +0 -900
  135. package/src/installs/microsoft-office.js +0 -568
  136. package/src/installs/microsoft-office.md +0 -760
  137. package/src/installs/microsoft-teams.js +0 -801
  138. package/src/installs/microsoft-teams.md +0 -886
  139. package/src/installs/moom.js +0 -326
  140. package/src/installs/moom.md +0 -570
  141. package/src/installs/node.js +0 -904
  142. package/src/installs/node.md +0 -1153
  143. package/src/installs/nordpass.js +0 -716
  144. package/src/installs/nordpass.md +0 -921
  145. package/src/installs/nordvpn.js +0 -892
  146. package/src/installs/nordvpn.md +0 -1052
  147. package/src/installs/nvm.js +0 -995
  148. package/src/installs/nvm.md +0 -1057
  149. package/src/installs/ohmyzsh.js +0 -529
  150. package/src/installs/ohmyzsh.md +0 -1094
  151. package/src/installs/openssh.js +0 -804
  152. package/src/installs/openssh.md +0 -1056
  153. package/src/installs/pandoc.js +0 -662
  154. package/src/installs/pandoc.md +0 -1036
  155. package/src/installs/parallels-desktop.js +0 -431
  156. package/src/installs/parallels-desktop.md +0 -446
  157. package/src/installs/pinentry.js +0 -510
  158. package/src/installs/pinentry.md +0 -1142
  159. package/src/installs/pngyu.js +0 -869
  160. package/src/installs/pngyu.md +0 -896
  161. package/src/installs/postman.js +0 -799
  162. package/src/installs/postman.md +0 -940
  163. package/src/installs/procps.js +0 -425
  164. package/src/installs/procps.md +0 -851
  165. package/src/installs/safari-tech-preview.js +0 -374
  166. package/src/installs/safari-tech-preview.md +0 -533
  167. package/src/installs/sfnt2woff.js +0 -658
  168. package/src/installs/sfnt2woff.md +0 -795
  169. package/src/installs/shellcheck.js +0 -481
  170. package/src/installs/shellcheck.md +0 -1005
  171. package/src/installs/slack.js +0 -741
  172. package/src/installs/slack.md +0 -865
  173. package/src/installs/snagit.js +0 -585
  174. package/src/installs/snagit.md +0 -844
  175. package/src/installs/software-properties-common.js +0 -372
  176. package/src/installs/software-properties-common.md +0 -805
  177. package/src/installs/spotify.js +0 -877
  178. package/src/installs/spotify.md +0 -901
  179. package/src/installs/studio-3t.js +0 -823
  180. package/src/installs/studio-3t.md +0 -918
  181. package/src/installs/sublime-text.js +0 -804
  182. package/src/installs/sublime-text.md +0 -914
  183. package/src/installs/superwhisper.js +0 -706
  184. package/src/installs/superwhisper.md +0 -630
  185. package/src/installs/tailscale.js +0 -745
  186. package/src/installs/tailscale.md +0 -1100
  187. package/src/installs/tar.js +0 -389
  188. package/src/installs/tar.md +0 -946
  189. package/src/installs/termius.js +0 -798
  190. package/src/installs/termius.md +0 -844
  191. package/src/installs/terraform.js +0 -779
  192. package/src/installs/terraform.md +0 -899
  193. package/src/installs/tfenv.js +0 -778
  194. package/src/installs/tfenv.md +0 -1091
  195. package/src/installs/tidal.js +0 -771
  196. package/src/installs/tidal.md +0 -864
  197. package/src/installs/tmux.js +0 -346
  198. package/src/installs/tmux.md +0 -1030
  199. package/src/installs/tree.js +0 -411
  200. package/src/installs/tree.md +0 -833
  201. package/src/installs/unzip.js +0 -460
  202. package/src/installs/unzip.md +0 -879
  203. package/src/installs/vim.js +0 -421
  204. package/src/installs/vim.md +0 -1040
  205. package/src/installs/vlc.js +0 -821
  206. package/src/installs/vlc.md +0 -927
  207. package/src/installs/vscode.js +0 -843
  208. package/src/installs/vscode.md +0 -1002
  209. package/src/installs/wget.js +0 -420
  210. package/src/installs/wget.md +0 -791
  211. package/src/installs/whatsapp.js +0 -729
  212. package/src/installs/whatsapp.md +0 -854
  213. package/src/installs/winpty.js +0 -352
  214. package/src/installs/winpty.md +0 -620
  215. package/src/installs/woff2.js +0 -553
  216. package/src/installs/woff2.md +0 -977
  217. package/src/installs/wsl.js +0 -572
  218. package/src/installs/wsl.md +0 -699
  219. package/src/installs/xcode-clt.js +0 -520
  220. package/src/installs/xcode-clt.md +0 -351
  221. package/src/installs/xcode.js +0 -560
  222. package/src/installs/xcode.md +0 -573
  223. package/src/installs/yarn.js +0 -824
  224. package/src/installs/yarn.md +0 -1074
  225. package/src/installs/yq.js +0 -654
  226. package/src/installs/yq.md +0 -944
  227. package/src/installs/yt-dlp.js +0 -701
  228. package/src/installs/yt-dlp.md +0 -946
  229. package/src/installs/yum-utils.js +0 -297
  230. package/src/installs/yum-utils.md +0 -648
  231. package/src/installs/zoom.js +0 -759
  232. package/src/installs/zoom.md +0 -884
  233. package/src/installs/zsh.js +0 -455
  234. package/src/installs/zsh.md +0 -1008
  235. package/src/scripts/README.md +0 -617
  236. package/src/scripts/STATUS.md +0 -208
  237. package/src/scripts/afk.js +0 -411
  238. package/src/scripts/backup-all.js +0 -746
  239. package/src/scripts/backup-source.js +0 -727
  240. package/src/scripts/brewd.js +0 -389
  241. package/src/scripts/brewi.js +0 -520
  242. package/src/scripts/brewr.js +0 -527
  243. package/src/scripts/brews.js +0 -477
  244. package/src/scripts/brewu.js +0 -504
  245. package/src/scripts/c.js +0 -201
  246. package/src/scripts/ccurl.js +0 -341
  247. package/src/scripts/certbot-crontab-init.js +0 -504
  248. package/src/scripts/certbot-init.js +0 -657
  249. package/src/scripts/ch.js +0 -355
  250. package/src/scripts/claude-danger.js +0 -268
  251. package/src/scripts/clean-dev.js +0 -435
  252. package/src/scripts/clear-dns-cache.js +0 -541
  253. package/src/scripts/clone.js +0 -435
  254. package/src/scripts/code-all.js +0 -437
  255. package/src/scripts/count-files.js +0 -211
  256. package/src/scripts/count-folders.js +0 -211
  257. package/src/scripts/count.js +0 -264
  258. package/src/scripts/d.js +0 -219
  259. package/src/scripts/datauri.js +0 -389
  260. package/src/scripts/delete-files.js +0 -380
  261. package/src/scripts/docker-clean.js +0 -426
  262. package/src/scripts/dp.js +0 -442
  263. package/src/scripts/e.js +0 -390
  264. package/src/scripts/empty-trash.js +0 -513
  265. package/src/scripts/evm.js +0 -444
  266. package/src/scripts/fetch-github-repos.js +0 -456
  267. package/src/scripts/get-channel.js +0 -345
  268. package/src/scripts/get-course.js +0 -399
  269. package/src/scripts/get-dependencies.js +0 -306
  270. package/src/scripts/get-folder.js +0 -799
  271. package/src/scripts/get-tunes.js +0 -426
  272. package/src/scripts/get-video.js +0 -367
  273. package/src/scripts/git-backup.js +0 -577
  274. package/src/scripts/git-clone.js +0 -493
  275. package/src/scripts/git-pup.js +0 -319
  276. package/src/scripts/git-push.js +0 -396
  277. package/src/scripts/h.js +0 -622
  278. package/src/scripts/hide-desktop-icons.js +0 -499
  279. package/src/scripts/hide-hidden-files.js +0 -538
  280. package/src/scripts/install-dependencies-from.js +0 -456
  281. package/src/scripts/ips.js +0 -663
  282. package/src/scripts/iso.js +0 -370
  283. package/src/scripts/killni.js +0 -577
  284. package/src/scripts/ll.js +0 -467
  285. package/src/scripts/local-ip.js +0 -325
  286. package/src/scripts/m.js +0 -524
  287. package/src/scripts/map.js +0 -309
  288. package/src/scripts/mkd.js +0 -351
  289. package/src/scripts/ncu-update-all.js +0 -457
  290. package/src/scripts/nginx-init.js +0 -718
  291. package/src/scripts/npmi.js +0 -382
  292. package/src/scripts/o.js +0 -511
  293. package/src/scripts/org-by-date.js +0 -338
  294. package/src/scripts/p.js +0 -224
  295. package/src/scripts/packages.js +0 -330
  296. package/src/scripts/path.js +0 -225
  297. package/src/scripts/ports.js +0 -597
  298. package/src/scripts/q.js +0 -305
  299. package/src/scripts/refresh-files.js +0 -394
  300. package/src/scripts/remove-smaller-files.js +0 -516
  301. package/src/scripts/rename-files-with-date.js +0 -533
  302. package/src/scripts/resize-image.js +0 -539
  303. package/src/scripts/rm-safe.js +0 -669
  304. package/src/scripts/s.js +0 -540
  305. package/src/scripts/set-git-public.js +0 -365
  306. package/src/scripts/show-desktop-icons.js +0 -475
  307. package/src/scripts/show-hidden-files.js +0 -472
  308. package/src/scripts/tpa.js +0 -280
  309. package/src/scripts/tpo.js +0 -280
  310. package/src/scripts/u.js +0 -505
  311. package/src/scripts/vpush.js +0 -437
  312. package/src/scripts/y.js +0 -283
  313. package/src/utils/README.md +0 -95
  314. package/src/utils/common/apps.js +0 -143
  315. package/src/utils/common/display.js +0 -157
  316. package/src/utils/common/network.js +0 -185
  317. package/src/utils/common/os.js +0 -294
  318. package/src/utils/common/package-manager.js +0 -301
  319. package/src/utils/common/privileges.js +0 -138
  320. package/src/utils/common/shell.js +0 -216
  321. package/src/utils/macos/apps.js +0 -228
  322. package/src/utils/macos/brew.js +0 -315
  323. package/src/utils/ubuntu/apt.js +0 -307
  324. package/src/utils/ubuntu/desktop.js +0 -292
  325. package/src/utils/ubuntu/snap.js +0 -344
  326. package/src/utils/ubuntu/systemd.js +0 -286
  327. package/src/utils/windows/choco.js +0 -465
  328. package/src/utils/windows/env.js +0 -246
  329. package/src/utils/windows/registry.js +0 -269
  330. package/src/utils/windows/shell.js +0 -240
  331. package/src/utils/windows/winget.js +0 -489
@@ -1,1172 +0,0 @@
1
- # Installing gitego
2
-
3
- ## Overview
4
-
5
- gitego is a Git identity manager and automatic profile switcher that eliminates the risk of committing to a repository with the wrong user identity. It allows you to define separate profiles for work, personal projects, and clients, then automatically switches between them based on your working directory.
6
-
7
- Key features include:
8
-
9
- - **Automatic profile switching**: Configure profiles to activate automatically when you enter a specific directory
10
- - **Unified identity management**: A single profile manages your commit author (user.name, email), authentication method (SSH keys), and API token (PAT)
11
- - **Secure credential storage**: Personal Access Tokens are stored in your operating system's native keychain (macOS Keychain, Windows Credential Manager, or Linux Secret Service), never in plaintext configuration files
12
- - **Cross-platform support**: Works natively on macOS, Windows, and Linux
13
-
14
- gitego uses Git's `includeIf` directive for identity switching and acts as a Git credential helper for HTTPS authentication.
15
-
16
- ## Dependencies
17
-
18
- ### macOS (Homebrew)
19
- - **Required:**
20
- - `homebrew` - Install from https://brew.sh
21
- - `git` - Install via `brew install git` (usually pre-installed with Xcode Command Line Tools)
22
- - **Optional:** None
23
- - **Auto-installed:**
24
- - `go` (version 1.24+) - Automatically installed via `brew install go` if not present or version is too old
25
-
26
- ### Ubuntu (APT/Snap)
27
- - **Required:**
28
- - `git` - Install via `sudo apt-get install -y git`
29
- - `wget` - Install via `sudo apt-get install -y wget` (usually pre-installed)
30
- - **Optional:** None
31
- - **Auto-installed:**
32
- - Go 1.24+ - Downloaded directly from https://go.dev/dl/go1.24.0.linux-amd64.tar.gz and installed to /usr/local/go
33
- - `libsecret-1-0` - Installed via `sudo apt-get install -y libsecret-1-0` for secure PAT storage
34
-
35
- ### Raspberry Pi OS (APT/Snap)
36
- - **Required:**
37
- - `git` - Install via `sudo apt-get install -y git`
38
- - `wget` - Install via `sudo apt-get install -y wget` (usually pre-installed)
39
- - **Optional:** None
40
- - **Auto-installed:**
41
- - Go 1.24+ - Downloaded directly from https://go.dev/dl/ (arm64 or armv6l variant based on detected architecture) and installed to /usr/local/go
42
- - `libsecret-1-0` - Installed via `sudo apt-get install -y libsecret-1-0` for secure PAT storage
43
-
44
- ### Amazon Linux (DNF/YUM)
45
- - **Required:**
46
- - `git` - Install via `sudo dnf install -y git` (AL2023) or `sudo yum install -y git` (AL2)
47
- - **Optional:** None
48
- - **Auto-installed:**
49
- - `wget` - Installed via `sudo dnf install -y wget` or `sudo yum install -y wget` if not present
50
- - Go 1.24+ - Downloaded directly from https://go.dev/dl/go1.24.0.linux-amd64.tar.gz and installed to /usr/local/go
51
- - `libsecret` - Attempted installation via `sudo dnf install -y libsecret` or `sudo yum install -y libsecret` for secure PAT storage (may fail on headless servers, which is expected)
52
-
53
- ### Windows (Chocolatey/winget)
54
- - **Required:**
55
- - `git` - Install via `choco install git -y` or `winget install --id Git.Git --silent`
56
- - `chocolatey` OR `winget` - At least one package manager must be installed. Install Chocolatey from https://chocolatey.org/install
57
- - **Optional:** None
58
- - **Auto-installed:**
59
- - `go` (version 1.24+) - Installed via `choco install golang` or `winget install --id GoLang.Go` if not present or version is too old
60
-
61
- ### Git Bash (Manual/Portable)
62
- - **Required:**
63
- - `git` - Install Git for Windows from https://git-scm.com/downloads
64
- - `go` (version 1.24+) - Must be pre-installed on Windows via `choco install golang -y` or `winget install --id GoLang.Go --silent`
65
- - **Optional:** None
66
- - **Auto-installed:** None (Git Bash inherits Windows environment, so dependencies must be installed on Windows first)
67
-
68
- ## Prerequisites
69
-
70
- Before installing gitego on any platform, ensure:
71
-
72
- 1. **Git installed and configured** - gitego manages Git identities, so Git must be present
73
- 2. **Internet connectivity** - Required to download Go and gitego
74
- 3. **Terminal/shell access** - All installation is performed via command line
75
-
76
- **Critical Requirement**: Go 1.24 or later must be installed. gitego is a Go application installed via `go install`. Each platform section below includes Go installation steps.
77
-
78
- ## Platform-Specific Installation
79
-
80
- ### macOS (Homebrew)
81
-
82
- #### Prerequisites
83
-
84
- - macOS 10.15 (Catalina) or later
85
- - Homebrew package manager installed
86
- - Git installed (included with macOS Command Line Tools)
87
-
88
- If Homebrew is not installed, install it first (this command is non-interactive after initial installation):
89
-
90
- ```bash
91
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
92
- ```
93
-
94
- #### Installation Steps
95
-
96
- **Step 1: Install Go**
97
-
98
- Install Go using Homebrew:
99
-
100
- ```bash
101
- brew install --quiet go
102
- ```
103
-
104
- Verify Go is installed and meets the version requirement:
105
-
106
- ```bash
107
- go version
108
- ```
109
-
110
- Expected output should show Go 1.24 or later.
111
-
112
- **Step 2: Ensure Go bin directory is in PATH**
113
-
114
- Add the Go bin directory to your PATH by adding this line to your shell profile. For zsh (default on modern macOS):
115
-
116
- ```bash
117
- echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.zshrc && source ~/.zshrc
118
- ```
119
-
120
- For bash:
121
-
122
- ```bash
123
- echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.bash_profile && source ~/.bash_profile
124
- ```
125
-
126
- **Step 3: Install gitego**
127
-
128
- Install gitego using Go's package manager:
129
-
130
- ```bash
131
- go install github.com/bgreenwell/gitego@latest
132
- ```
133
-
134
- **Step 4: Configure Git to use gitego as credential helper**
135
-
136
- Clear any existing credential helpers and set gitego as the primary handler:
137
-
138
- ```bash
139
- git config --global credential.helper ""
140
- git config --global --add credential.helper "!gitego credential"
141
- ```
142
-
143
- #### Verification
144
-
145
- Confirm gitego is installed:
146
-
147
- ```bash
148
- gitego --version
149
- ```
150
-
151
- Expected output:
152
-
153
- ```
154
- gitego version 0.1.1
155
- ```
156
-
157
- Test the credential helper configuration:
158
-
159
- ```bash
160
- git config --global --get-all credential.helper
161
- ```
162
-
163
- Expected output:
164
-
165
- ```
166
- !gitego credential
167
- ```
168
-
169
- #### Troubleshooting
170
-
171
- **Problem**: `gitego: command not found`
172
-
173
- **Solution**: The Go bin directory is not in your PATH. Verify the PATH includes `~/go/bin`:
174
-
175
- ```bash
176
- echo $PATH | tr ':' '\n' | grep go
177
- ```
178
-
179
- If not present, add it to your shell profile:
180
-
181
- ```bash
182
- echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.zshrc && source ~/.zshrc
183
- ```
184
-
185
- **Problem**: `go install` fails with version error
186
-
187
- **Solution**: Your Go version is too old. Update Go:
188
-
189
- ```bash
190
- brew upgrade go
191
- ```
192
-
193
- **Problem**: Credential helper not working
194
-
195
- **Solution**: Verify the configuration is correct:
196
-
197
- ```bash
198
- git config --global --get-all credential.helper
199
- ```
200
-
201
- If multiple entries exist, clear and reconfigure:
202
-
203
- ```bash
204
- git config --global --unset-all credential.helper
205
- git config --global credential.helper ""
206
- git config --global --add credential.helper "!gitego credential"
207
- ```
208
-
209
- ---
210
-
211
- ### Ubuntu/Debian (APT)
212
-
213
- #### Prerequisites
214
-
215
- - Ubuntu 20.04 or later, or Debian 11 (Bullseye) or later
216
- - sudo privileges
217
- - Git installed
218
-
219
- Install Git if not present:
220
-
221
- ```bash
222
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
223
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y git
224
- ```
225
-
226
- #### Installation Steps
227
-
228
- **Step 1: Install Go**
229
-
230
- The version of Go in Ubuntu/Debian repositories is often outdated. Download and install Go directly from the official source to ensure you have version 1.24 or later:
231
-
232
- ```bash
233
- # Download Go 1.24 (adjust version as needed for newer releases)
234
- wget -q https://go.dev/dl/go1.24.0.linux-amd64.tar.gz -O /tmp/go.tar.gz
235
-
236
- # Remove any existing Go installation and extract new version
237
- sudo rm -rf /usr/local/go
238
- sudo tar -C /usr/local -xzf /tmp/go.tar.gz
239
-
240
- # Clean up downloaded archive
241
- rm /tmp/go.tar.gz
242
- ```
243
-
244
- **Step 2: Configure PATH**
245
-
246
- Add Go to your PATH:
247
-
248
- ```bash
249
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
250
- ```
251
-
252
- Verify Go is installed correctly:
253
-
254
- ```bash
255
- go version
256
- ```
257
-
258
- Expected output should show Go 1.24 or later.
259
-
260
- **Step 3: Install gitego**
261
-
262
- Install gitego using Go's package manager:
263
-
264
- ```bash
265
- go install github.com/bgreenwell/gitego@latest
266
- ```
267
-
268
- **Step 4: Configure Git to use gitego as credential helper**
269
-
270
- Clear any existing credential helpers and set gitego as the primary handler:
271
-
272
- ```bash
273
- git config --global credential.helper ""
274
- git config --global --add credential.helper "!gitego credential"
275
- ```
276
-
277
- **Step 5: Install libsecret for secure credential storage**
278
-
279
- gitego uses the Linux Secret Service for secure PAT storage. Install the required library:
280
-
281
- ```bash
282
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libsecret-1-0
283
- ```
284
-
285
- #### Verification
286
-
287
- Confirm gitego is installed:
288
-
289
- ```bash
290
- gitego --version
291
- ```
292
-
293
- Expected output:
294
-
295
- ```
296
- gitego version 0.1.1
297
- ```
298
-
299
- Test the credential helper configuration:
300
-
301
- ```bash
302
- git config --global --get-all credential.helper
303
- ```
304
-
305
- Expected output:
306
-
307
- ```
308
- !gitego credential
309
- ```
310
-
311
- #### Troubleshooting
312
-
313
- **Problem**: `gitego: command not found`
314
-
315
- **Solution**: The Go bin directory is not in your PATH. Add it:
316
-
317
- ```bash
318
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
319
- ```
320
-
321
- **Problem**: Go version is too old
322
-
323
- **Solution**: The system Go package is outdated. Remove it and install from official tarball:
324
-
325
- ```bash
326
- sudo DEBIAN_FRONTEND=noninteractive apt-get remove -y golang-go
327
- wget -q https://go.dev/dl/go1.24.0.linux-amd64.tar.gz -O /tmp/go.tar.gz
328
- sudo rm -rf /usr/local/go
329
- sudo tar -C /usr/local -xzf /tmp/go.tar.gz
330
- rm /tmp/go.tar.gz
331
- ```
332
-
333
- **Problem**: Secure credential storage fails
334
-
335
- **Solution**: Ensure you have a running secret service (like GNOME Keyring):
336
-
337
- ```bash
338
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-keyring
339
- ```
340
-
341
- ---
342
-
343
- ### Raspberry Pi OS (APT)
344
-
345
- #### Prerequisites
346
-
347
- - Raspberry Pi OS (64-bit recommended) - Bookworm or Bullseye
348
- - Raspberry Pi 3B+ or later (64-bit capable hardware)
349
- - sudo privileges
350
- - Git installed
351
-
352
- First, verify your architecture:
353
-
354
- ```bash
355
- uname -m
356
- ```
357
-
358
- - `aarch64` = 64-bit (use arm64 Go binary)
359
- - `armv7l` = 32-bit (use armv6l Go binary)
360
-
361
- Install Git if not present:
362
-
363
- ```bash
364
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
365
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y git
366
- ```
367
-
368
- #### Installation Steps
369
-
370
- **Step 1: Install Go**
371
-
372
- Download the appropriate Go binary for your Raspberry Pi architecture.
373
-
374
- **For 64-bit Raspberry Pi OS (aarch64):**
375
-
376
- ```bash
377
- wget -q https://go.dev/dl/go1.24.0.linux-arm64.tar.gz -O /tmp/go.tar.gz
378
- sudo rm -rf /usr/local/go
379
- sudo tar -C /usr/local -xzf /tmp/go.tar.gz
380
- rm /tmp/go.tar.gz
381
- ```
382
-
383
- **For 32-bit Raspberry Pi OS (armv7l):**
384
-
385
- ```bash
386
- wget -q https://go.dev/dl/go1.24.0.linux-armv6l.tar.gz -O /tmp/go.tar.gz
387
- sudo rm -rf /usr/local/go
388
- sudo tar -C /usr/local -xzf /tmp/go.tar.gz
389
- rm /tmp/go.tar.gz
390
- ```
391
-
392
- **Step 2: Configure PATH**
393
-
394
- Add Go to your PATH:
395
-
396
- ```bash
397
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
398
- ```
399
-
400
- Verify Go is installed correctly:
401
-
402
- ```bash
403
- go version
404
- ```
405
-
406
- Expected output should show Go 1.24 or later.
407
-
408
- **Step 3: Install gitego**
409
-
410
- Install gitego using Go's package manager:
411
-
412
- ```bash
413
- go install github.com/bgreenwell/gitego@latest
414
- ```
415
-
416
- **Note**: Compilation on Raspberry Pi may take several minutes due to limited processing power.
417
-
418
- **Step 4: Configure Git to use gitego as credential helper**
419
-
420
- Clear any existing credential helpers and set gitego as the primary handler:
421
-
422
- ```bash
423
- git config --global credential.helper ""
424
- git config --global --add credential.helper "!gitego credential"
425
- ```
426
-
427
- **Step 5: Install libsecret for secure credential storage**
428
-
429
- ```bash
430
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libsecret-1-0
431
- ```
432
-
433
- #### Verification
434
-
435
- Confirm gitego is installed:
436
-
437
- ```bash
438
- gitego --version
439
- ```
440
-
441
- Expected output:
442
-
443
- ```
444
- gitego version 0.1.1
445
- ```
446
-
447
- #### Troubleshooting
448
-
449
- **Problem**: `go install` fails with "exec format error"
450
-
451
- **Solution**: You downloaded the wrong architecture binary. Check your architecture with `uname -m` and download the correct Go tarball (arm64 for aarch64, armv6l for armv7l).
452
-
453
- **Problem**: Compilation is extremely slow or fails with out of memory
454
-
455
- **Solution**: Raspberry Pi has limited resources. Increase swap space:
456
-
457
- ```bash
458
- sudo fallocate -l 2G /swapfile
459
- sudo chmod 600 /swapfile
460
- sudo mkswap /swapfile
461
- sudo swapon /swapfile
462
- ```
463
-
464
- Then retry the installation.
465
-
466
- **Problem**: `gitego: command not found`
467
-
468
- **Solution**: Ensure Go bin directory is in PATH:
469
-
470
- ```bash
471
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
472
- ```
473
-
474
- ---
475
-
476
- ### Amazon Linux (DNF/YUM)
477
-
478
- #### Prerequisites
479
-
480
- - Amazon Linux 2023 (AL2023) or Amazon Linux 2 (AL2)
481
- - sudo privileges
482
- - Git installed
483
-
484
- Install Git if not present:
485
-
486
- ```bash
487
- # For Amazon Linux 2023
488
- sudo dnf install -y git
489
-
490
- # For Amazon Linux 2
491
- sudo yum install -y git
492
- ```
493
-
494
- #### Installation Steps
495
-
496
- **Step 1: Install Go**
497
-
498
- The Go version in Amazon Linux repositories may be outdated. Download and install Go directly from the official source:
499
-
500
- ```bash
501
- wget -q https://go.dev/dl/go1.24.0.linux-amd64.tar.gz -O /tmp/go.tar.gz
502
- sudo rm -rf /usr/local/go
503
- sudo tar -C /usr/local -xzf /tmp/go.tar.gz
504
- rm /tmp/go.tar.gz
505
- ```
506
-
507
- **Step 2: Configure PATH**
508
-
509
- Add Go to your PATH:
510
-
511
- ```bash
512
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
513
- ```
514
-
515
- Verify Go is installed correctly:
516
-
517
- ```bash
518
- go version
519
- ```
520
-
521
- Expected output should show Go 1.24 or later.
522
-
523
- **Step 3: Install gitego**
524
-
525
- Install gitego using Go's package manager:
526
-
527
- ```bash
528
- go install github.com/bgreenwell/gitego@latest
529
- ```
530
-
531
- **Step 4: Configure Git to use gitego as credential helper**
532
-
533
- Clear any existing credential helpers and set gitego as the primary handler:
534
-
535
- ```bash
536
- git config --global credential.helper ""
537
- git config --global --add credential.helper "!gitego credential"
538
- ```
539
-
540
- **Step 5: Install libsecret for secure credential storage (optional)**
541
-
542
- For secure PAT storage on headless servers, install libsecret:
543
-
544
- ```bash
545
- # For Amazon Linux 2023
546
- sudo dnf install -y libsecret
547
-
548
- # For Amazon Linux 2
549
- sudo yum install -y libsecret
550
- ```
551
-
552
- **Note**: On headless servers without a graphical environment, the secret service may not be available. In this case, gitego will still function for identity switching, but PAT storage may require alternative configuration.
553
-
554
- #### Verification
555
-
556
- Confirm gitego is installed:
557
-
558
- ```bash
559
- gitego --version
560
- ```
561
-
562
- Expected output:
563
-
564
- ```
565
- gitego version 0.1.1
566
- ```
567
-
568
- Test the credential helper configuration:
569
-
570
- ```bash
571
- git config --global --get-all credential.helper
572
- ```
573
-
574
- Expected output:
575
-
576
- ```
577
- !gitego credential
578
- ```
579
-
580
- #### Troubleshooting
581
-
582
- **Problem**: `gitego: command not found`
583
-
584
- **Solution**: The Go bin directory is not in your PATH. Add it:
585
-
586
- ```bash
587
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
588
- ```
589
-
590
- **Problem**: `wget: command not found`
591
-
592
- **Solution**: Install wget:
593
-
594
- ```bash
595
- # For Amazon Linux 2023
596
- sudo dnf install -y wget
597
-
598
- # For Amazon Linux 2
599
- sudo yum install -y wget
600
- ```
601
-
602
- **Problem**: Secret service not available on headless server
603
-
604
- **Solution**: gitego still works for identity switching without a secret service. For PAT management on headless servers, consider using SSH keys instead, or configure a headless secret service like `pass`.
605
-
606
- ---
607
-
608
- ### Windows (Chocolatey/winget)
609
-
610
- #### Prerequisites
611
-
612
- - Windows 10 version 1809 or later, or Windows 11
613
- - Administrator PowerShell or Command Prompt
614
- - Git for Windows installed
615
- - Chocolatey or winget package manager
616
-
617
- If Git is not installed, install it first:
618
-
619
- ```powershell
620
- choco install git -y
621
- ```
622
-
623
- Or with winget:
624
-
625
- ```powershell
626
- winget install --id Git.Git --silent --accept-package-agreements --accept-source-agreements
627
- ```
628
-
629
- #### Installation Steps
630
-
631
- **Step 1: Install Go**
632
-
633
- Using Chocolatey (run in Administrator PowerShell):
634
-
635
- ```powershell
636
- choco install golang -y
637
- ```
638
-
639
- Using winget:
640
-
641
- ```powershell
642
- winget install --id GoLang.Go --silent --accept-package-agreements --accept-source-agreements
643
- ```
644
-
645
- **Step 2: Refresh environment variables**
646
-
647
- Close and reopen your terminal, or in PowerShell run:
648
-
649
- ```powershell
650
- $env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
651
- ```
652
-
653
- Verify Go is installed:
654
-
655
- ```powershell
656
- go version
657
- ```
658
-
659
- Expected output should show Go 1.24 or later.
660
-
661
- **Step 3: Install gitego**
662
-
663
- Install gitego using Go's package manager:
664
-
665
- ```powershell
666
- go install github.com/bgreenwell/gitego@latest
667
- ```
668
-
669
- **Step 4: Add Go bin to PATH**
670
-
671
- The Go bin directory needs to be in your PATH. Add it permanently:
672
-
673
- ```powershell
674
- $gopath = [System.Environment]::GetEnvironmentVariable("GOPATH", "User")
675
- if (-not $gopath) { $gopath = "$env:USERPROFILE\go" }
676
- $binPath = "$gopath\bin"
677
- $currentPath = [System.Environment]::GetEnvironmentVariable("Path", "User")
678
- if ($currentPath -notlike "*$binPath*") {
679
- [System.Environment]::SetEnvironmentVariable("Path", "$currentPath;$binPath", "User")
680
- }
681
- ```
682
-
683
- Close and reopen your terminal for the PATH change to take effect.
684
-
685
- **Step 5: Configure Git to use gitego as credential helper**
686
-
687
- Clear any existing credential helpers and set gitego as the primary handler:
688
-
689
- ```powershell
690
- git config --global credential.helper ""
691
- git config --global --add credential.helper "!gitego credential"
692
- ```
693
-
694
- #### Verification
695
-
696
- Confirm gitego is installed:
697
-
698
- ```powershell
699
- gitego --version
700
- ```
701
-
702
- Expected output:
703
-
704
- ```
705
- gitego version 0.1.1
706
- ```
707
-
708
- Test the credential helper configuration:
709
-
710
- ```powershell
711
- git config --global --get-all credential.helper
712
- ```
713
-
714
- Expected output:
715
-
716
- ```
717
- !gitego credential
718
- ```
719
-
720
- #### Troubleshooting
721
-
722
- **Problem**: `gitego: The term 'gitego' is not recognized`
723
-
724
- **Solution**: The Go bin directory is not in your PATH. Add it and restart your terminal:
725
-
726
- ```powershell
727
- $gopath = "$env:USERPROFILE\go"
728
- $binPath = "$gopath\bin"
729
- [System.Environment]::SetEnvironmentVariable("Path", "$env:Path;$binPath", "User")
730
- ```
731
-
732
- Then close and reopen PowerShell.
733
-
734
- **Problem**: `go install` fails with network error
735
-
736
- **Solution**: Check your internet connection and proxy settings. If behind a corporate proxy:
737
-
738
- ```powershell
739
- $env:HTTP_PROXY = "http://proxy.example.com:8080"
740
- $env:HTTPS_PROXY = "http://proxy.example.com:8080"
741
- go install github.com/bgreenwell/gitego@latest
742
- ```
743
-
744
- **Problem**: Go version is outdated
745
-
746
- **Solution**: Update Go using Chocolatey:
747
-
748
- ```powershell
749
- choco upgrade golang -y
750
- ```
751
-
752
- Or with winget:
753
-
754
- ```powershell
755
- winget upgrade --id GoLang.Go
756
- ```
757
-
758
- ---
759
-
760
- ### WSL (Ubuntu)
761
-
762
- #### Prerequisites
763
-
764
- - Windows 10 version 2004 or higher, or Windows 11
765
- - WSL 2 enabled with Ubuntu distribution installed
766
- - sudo privileges within WSL
767
- - Git installed in WSL
768
-
769
- Verify you are running WSL 2:
770
-
771
- ```bash
772
- wsl.exe --list --verbose
773
- ```
774
-
775
- Your Ubuntu distribution should show "2" in the VERSION column.
776
-
777
- Install Git if not present:
778
-
779
- ```bash
780
- sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
781
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y git
782
- ```
783
-
784
- #### Installation Steps
785
-
786
- **Step 1: Install Go**
787
-
788
- Download and install Go from the official source:
789
-
790
- ```bash
791
- wget -q https://go.dev/dl/go1.24.0.linux-amd64.tar.gz -O /tmp/go.tar.gz
792
- sudo rm -rf /usr/local/go
793
- sudo tar -C /usr/local -xzf /tmp/go.tar.gz
794
- rm /tmp/go.tar.gz
795
- ```
796
-
797
- **Step 2: Configure PATH**
798
-
799
- Add Go to your PATH:
800
-
801
- ```bash
802
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
803
- ```
804
-
805
- Verify Go is installed correctly:
806
-
807
- ```bash
808
- go version
809
- ```
810
-
811
- Expected output should show Go 1.24 or later.
812
-
813
- **Step 3: Install gitego**
814
-
815
- Install gitego using Go's package manager:
816
-
817
- ```bash
818
- go install github.com/bgreenwell/gitego@latest
819
- ```
820
-
821
- **Step 4: Configure Git to use gitego as credential helper**
822
-
823
- Clear any existing credential helpers and set gitego as the primary handler:
824
-
825
- ```bash
826
- git config --global credential.helper ""
827
- git config --global --add credential.helper "!gitego credential"
828
- ```
829
-
830
- **Step 5: Configure credential storage for WSL**
831
-
832
- WSL does not have a native secret service running by default. Install and configure pass for credential storage:
833
-
834
- ```bash
835
- sudo DEBIAN_FRONTEND=noninteractive apt-get install -y pass gnupg
836
- ```
837
-
838
- Generate a GPG key for pass (follow the prompts):
839
-
840
- ```bash
841
- gpg --batch --gen-key <<EOF
842
- Key-Type: RSA
843
- Key-Length: 4096
844
- Name-Real: gitego
845
- Name-Email: gitego@localhost
846
- Expire-Date: 0
847
- %no-protection
848
- EOF
849
- ```
850
-
851
- Initialize pass with the generated key:
852
-
853
- ```bash
854
- pass init "gitego"
855
- ```
856
-
857
- #### Verification
858
-
859
- Confirm gitego is installed:
860
-
861
- ```bash
862
- gitego --version
863
- ```
864
-
865
- Expected output:
866
-
867
- ```
868
- gitego version 0.1.1
869
- ```
870
-
871
- Test the credential helper configuration:
872
-
873
- ```bash
874
- git config --global --get-all credential.helper
875
- ```
876
-
877
- Expected output:
878
-
879
- ```
880
- !gitego credential
881
- ```
882
-
883
- #### Troubleshooting
884
-
885
- **Problem**: `gitego: command not found`
886
-
887
- **Solution**: Ensure Go bin directory is in PATH:
888
-
889
- ```bash
890
- echo 'export PATH="$PATH:/usr/local/go/bin:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
891
- ```
892
-
893
- **Problem**: WSL 1 compatibility issues
894
-
895
- **Solution**: Upgrade to WSL 2:
896
-
897
- ```powershell
898
- wsl --set-version Ubuntu 2
899
- ```
900
-
901
- **Problem**: Secret storage errors
902
-
903
- **Solution**: Ensure pass is properly initialized:
904
-
905
- ```bash
906
- pass init "$(gpg --list-keys --keyid-format LONG | grep -A1 pub | tail -1 | awk '{print $1}')"
907
- ```
908
-
909
- ---
910
-
911
- ### Git Bash (Windows)
912
-
913
- #### Prerequisites
914
-
915
- - Windows 10 or Windows 11 (64-bit)
916
- - Git Bash installed (comes with Git for Windows)
917
- - Go installed on Windows (see Windows section)
918
-
919
- Git Bash inherits the Windows PATH, so if Go and gitego are installed on Windows, they will be available in Git Bash automatically.
920
-
921
- #### Installation Steps
922
-
923
- **Step 1: Install Go on Windows**
924
-
925
- If Go is not already installed, install it using Chocolatey from an Administrator PowerShell:
926
-
927
- ```powershell
928
- choco install golang -y
929
- ```
930
-
931
- Or with winget:
932
-
933
- ```powershell
934
- winget install --id GoLang.Go --silent --accept-package-agreements --accept-source-agreements
935
- ```
936
-
937
- **Step 2: Install gitego**
938
-
939
- Open Git Bash and install gitego:
940
-
941
- ```bash
942
- go install github.com/bgreenwell/gitego@latest
943
- ```
944
-
945
- **Step 3: Add Go bin to PATH**
946
-
947
- If gitego is not found after installation, add the Go bin directory to your Git Bash profile:
948
-
949
- ```bash
950
- echo 'export PATH="$PATH:$HOME/go/bin"' >> ~/.bashrc && source ~/.bashrc
951
- ```
952
-
953
- **Step 4: Configure Git to use gitego as credential helper**
954
-
955
- Clear any existing credential helpers and set gitego as the primary handler:
956
-
957
- ```bash
958
- git config --global credential.helper ""
959
- git config --global --add credential.helper "!gitego credential"
960
- ```
961
-
962
- #### Verification
963
-
964
- Confirm gitego is installed:
965
-
966
- ```bash
967
- gitego --version
968
- ```
969
-
970
- Expected output:
971
-
972
- ```
973
- gitego version 0.1.1
974
- ```
975
-
976
- Test the credential helper configuration:
977
-
978
- ```bash
979
- git config --global --get-all credential.helper
980
- ```
981
-
982
- Expected output:
983
-
984
- ```
985
- !gitego credential
986
- ```
987
-
988
- #### Troubleshooting
989
-
990
- **Problem**: `gitego: command not found`
991
-
992
- **Solution**: Add the Go bin directory to your PATH:
993
-
994
- ```bash
995
- echo 'export PATH="$PATH:$HOME/go/bin:/c/Users/$USER/go/bin"' >> ~/.bashrc && source ~/.bashrc
996
- ```
997
-
998
- **Problem**: `go: command not found`
999
-
1000
- **Solution**: Go is not installed or not in PATH. Install Go on Windows first (see Windows section), then restart Git Bash.
1001
-
1002
- **Problem**: Credential helper not working
1003
-
1004
- **Solution**: Verify the Git configuration:
1005
-
1006
- ```bash
1007
- git config --global --list | grep credential
1008
- ```
1009
-
1010
- Reconfigure if needed:
1011
-
1012
- ```bash
1013
- git config --global --unset-all credential.helper
1014
- git config --global credential.helper ""
1015
- git config --global --add credential.helper "!gitego credential"
1016
- ```
1017
-
1018
- ---
1019
-
1020
- ## Post-Installation Configuration
1021
-
1022
- After installing gitego on any platform, complete these configuration steps.
1023
-
1024
- ### Create Your First Profile
1025
-
1026
- Create a default profile with your primary Git identity:
1027
-
1028
- ```bash
1029
- gitego add personal --name "Your Name" --email "you@example.com" --username "your-github-username"
1030
- ```
1031
-
1032
- Set it as the global default:
1033
-
1034
- ```bash
1035
- gitego use personal
1036
- ```
1037
-
1038
- ### Create Additional Profiles
1039
-
1040
- Create profiles for different contexts:
1041
-
1042
- ```bash
1043
- # Work profile with SSH key
1044
- gitego add work --name "Your Name" --email "you@company.com" --username "work-username" --ssh-key ~/.ssh/id_work
1045
-
1046
- # Client profile with Personal Access Token
1047
- gitego add client --name "Your Name" --email "you@client.com" --username "client-username" --pat "ghp_YourPATHere"
1048
- ```
1049
-
1050
- ### Configure Auto-Switching
1051
-
1052
- Set up automatic profile switching based on directory:
1053
-
1054
- ```bash
1055
- gitego auto ~/work/ work
1056
- gitego auto ~/personal/ personal
1057
- gitego auto ~/clients/abc/ client
1058
- ```
1059
-
1060
- ### Install Pre-Commit Hook (Optional)
1061
-
1062
- Add a safety hook to prevent commits with the wrong identity:
1063
-
1064
- ```bash
1065
- cd /path/to/your/repo
1066
- gitego install-hook
1067
- ```
1068
-
1069
- ### Verify Configuration
1070
-
1071
- Check the current effective Git identity:
1072
-
1073
- ```bash
1074
- gitego status
1075
- ```
1076
-
1077
- List all configured profiles:
1078
-
1079
- ```bash
1080
- gitego list
1081
- ```
1082
-
1083
- ---
1084
-
1085
- ## Common Issues
1086
-
1087
- ### Issue: "error: cannot run gitego credential: No such file or directory"
1088
-
1089
- **Symptoms**: Git operations fail with credential helper errors.
1090
-
1091
- **Solution**: gitego is not in your PATH. Verify the installation:
1092
-
1093
- ```bash
1094
- which gitego
1095
- ```
1096
-
1097
- If not found, add the Go bin directory to your PATH (see platform-specific instructions above).
1098
-
1099
- ### Issue: Profile not switching automatically
1100
-
1101
- **Symptoms**: `gitego status` shows the wrong profile when in a configured directory.
1102
-
1103
- **Solution**: Verify auto-switching rules:
1104
-
1105
- ```bash
1106
- gitego list
1107
- ```
1108
-
1109
- Ensure the directory path in the auto rule matches your actual directory structure. The path must be an exact prefix match.
1110
-
1111
- ### Issue: PAT not being used for HTTPS operations
1112
-
1113
- **Symptoms**: Git prompts for username/password despite PAT being configured.
1114
-
1115
- **Solution**: Verify the credential helper is configured:
1116
-
1117
- ```bash
1118
- git config --global --get-all credential.helper
1119
- ```
1120
-
1121
- If gitego is not listed, reconfigure:
1122
-
1123
- ```bash
1124
- git config --global credential.helper ""
1125
- git config --global --add credential.helper "!gitego credential"
1126
- ```
1127
-
1128
- ### Issue: SSH key not being used
1129
-
1130
- **Symptoms**: Git uses wrong SSH key for operations.
1131
-
1132
- **Solution**: gitego manages SSH key selection via GIT_SSH_COMMAND. Verify the profile has an SSH key configured:
1133
-
1134
- ```bash
1135
- gitego list
1136
- ```
1137
-
1138
- If the ssh-key field is empty, add one:
1139
-
1140
- ```bash
1141
- gitego edit profile-name --ssh-key ~/.ssh/id_correct_key
1142
- ```
1143
-
1144
- ### Issue: "secret service not available" on Linux
1145
-
1146
- **Symptoms**: PAT storage fails on headless Linux systems.
1147
-
1148
- **Solution**: Install and configure a secret service. For systems with GNOME:
1149
-
1150
- ```bash
1151
- sudo apt-get install -y gnome-keyring
1152
- ```
1153
-
1154
- For headless systems, use pass:
1155
-
1156
- ```bash
1157
- sudo apt-get install -y pass gnupg
1158
- gpg --gen-key
1159
- pass init "your-gpg-key-id"
1160
- ```
1161
-
1162
- ---
1163
-
1164
- ## References
1165
-
1166
- - [gitego GitHub Repository](https://github.com/bgreenwell/gitego)
1167
- - [Go Installation Documentation](https://go.dev/doc/install)
1168
- - [Git Credential Helpers Documentation](https://git-scm.com/docs/gitcredentials)
1169
- - [Git Conditional Includes Documentation](https://git-scm.com/docs/git-config#_conditional_includes)
1170
- - [Homebrew Go Formula](https://formulae.brew.sh/formula/go)
1171
- - [Chocolatey Go Package](https://community.chocolatey.org/packages/golang)
1172
- - [winget Go Package](https://winget.run/pkg/GoLang/Go)