Mac 通常自带 Git ,但如果没有安装,或者你想更新到最新版本,可以通过以下几种方式安装:
brew install git
xcode-select --install
通过 Git 官网下载安装包:https://git-scm.com/download/win
验证是否安装成功:
git --version
Git 需要知道提交者的身份信息。通过以下命令设置全局用户信息:
# 设置用户名
git config --global user.name "Your Name"
# 设置邮箱
git config --global user.email "Your Email"
git config --global core.editor vim
git config --global core.editor "code --wait"
ssh-keygen -t rsa -b 4096 -C "你的邮箱地址"
-t rsa:指定密钥类型为 RSA-b 4096:指定密钥长度为 4096 位-C "你的邮箱地址":指定注释信息为你的邮箱地址,通常是你的 GitHub 邮箱地址执行命令后,会提示你输入保存密钥的文件路径,按回车键默认保存在 ~/.ssh/id_rsa。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
~/.ssh/id_rsa 是你生成的 SSH 密钥的路径。pbcopy < ~/.ssh/id_rsa.pub
或者对于 Linux 系统:
cat ~/.ssh/id_rsa.pub | xclip -selection clipboard
ssh -T git@github.com
brew install gnupg
gpg --full-generate-key
ECC and ECC 。您可以直接按 Enter 选择默认选项,生成 ECC 密钥。
ECC 密钥(如 Ed25519 )提供了更高的安全性和更小的密钥尺寸。但在某些旧系统或软件中,可能存在兼容性问题。如果需要最大兼容性,可以选择 RSA and RSA ,然后将密钥长度设置为 4096 位。ECC,系统会提示您选择曲线。默认的 Curve 25519(Ed25519)是推荐的选项,直接按 Enter 即可。0 表示密钥永不过期,或者根据需要设置。O 确认。gpg --list-secret-keys --keyid-format LONG
[keyboxd]
----------------
sec   ed25519/密钥ID  日期 [SC]
      密钥指纹
uid           [ultimate] 姓名 <邮箱>
ssb   cv25519/子密钥ID  日期 [E]
记录下 ed25519/ 后面的长密钥 ID。例如,ABCD1234EFGH5678。
gpg --armor --export 密钥ID | pbcopy
-----BEGIN PGP PUBLIC KEY BLOCK-----
mDMEY...
...
-----END PGP PUBLIC KEY BLOCK-----
git config --global user.signingkey 密钥ID
git config --global commit.gpgsign true
git config --global gpg.program $(which gpg)
git config --global --unset gpg.format
pinentry 程序用于提示您输入 GPG 密钥的密码。
brew install pinentry-mac
echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf
killall gpg-agent
为避免每次提交都输入密码,可以配置 GPG 缓存密码:
code ~/.gnupg/gpg-agent.conf
添加以下内容,代表把密码缓存 1 小时,最大缓存时间为 2 小时。
default-cache-ttl 3600
max-cache-ttl 7200
重启代理:
killall gpg-agent
"git.enableCommitSigning": true, 选项。
| 命令 | 功能说明 | 
|---|---|
git config --global -l | 查看所有配置 | 
git config --global user.name | 查看某个特定的全局配置项 | 
git rebase --abort | 取消变基操作 | 
git branch | grep -v "^\*" | xargs git branch -D | 删除除当前分支外的所有分支 | 
git branch | xargs git branch -D | 删除所有本地分支,包括当前分支 | 
git fetch --prune | 从远程仓库获取最新的代码,并删除已经被删除的分支 | 
git branch -m <old_branch> <new_branch> | 重命名本地分支 | 
git push origin --delete <branch_name> | 删除远程分支 | 
原因:使用 http 协议进行传输的缓存区太小
git config --global http.postBuffer 524288000