-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgit.sh
executable file
·67 lines (55 loc) · 1.16 KB
/
git.sh
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
#! /bin/bash
echo "🧞 git"
brew install git-lfs
git lfs install
read -p "Git Username: " username
read -p "Git Email: " email
# GPG
brew install gnupg
brew install pinentry-mac
brew install diff-so-fancy
mkdir -p ~/.gnupg
echo "pinentry-program $(brew --prefix)/bin/pinentry-mac" > ~/.gnupg/gpg-agent.conf
chown -R $(whoami) ~/.gnupg/
chmod 600 ~/.gnupg/*
chmod 700 ~/.gnupg
# .gitignore
if [ -f ~/.gitignore ]; then
rm ~/.gitignore
fi
cp .gitignore ~
if [ -f ~/.gitconfig ]; then
rm ~/.gitconfig
fi
cat <<EOF > ~/.gitconfig
[user]
email = $email
name = $username
[color]
ui = auto
[core]
precomposeunicode = true
quotepath = false
excludesfile = ~/.gitignore
editor = vim
pager = diff-so-fancy | less --tabs=4 -RFX
[commit]
gpgsign = true
[gpg]
program = $(brew --prefix)/bin/gpg
[init]
defaultBranch = main
EOF
# SSH Key
ssh-keygen -t ed25519 -C $email -f ~/.ssh/id_github
eval "$(ssh-agent -s)"
cat <<EOF > ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_github
EOF
ssh-add -K ~/.ssh/id_github
# Continue on GitHub
pbcopy < ~/.ssh/id_github.pub
open https://github.com/settings/ssh/new