Notes
管理多账户
- 添加两个key
# 此处用默认文件名(此处生成"id_ed25519")
ssh-keygen -t ed25519 -C "[email protected]"
# 指定一个文件名(注意,全路径)
ssh-keygen -t ed25519 -C "[email protected] -f ~/.ssh/id_personal"
此时,~/.ssh路径下就有了两对公私钥
- 手动切换
ssh-add -D
ssh-add ~/.ssh/id_ed25519 # 切换另一个换个私钥名即可
这种做法非常低效,而且容易忘
- host映射
~/.ssh/config是配置文件(没有可以新建一个),默认配置为
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
使用ssh-agent添加到keychain中,不使用keychain的话忽略
据说密钥没设密码的话,keychain不会保存(未测)
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
ssh-add --apple-use-keychain ~/.ssh/id_personal
修改配置文件
Host github.com
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
Host personal
HostName github.com
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_personal
Host就是别名,类似主机头,这样你把git的remote中域名的位置用别名替代使用即可
修改最后一次commit的message
git commit --amend -m"your new message"
假如这个commit已经push到远程仓库,还需要git push --force一下(即-f)
修改最后一次commit的author
git commit --amend --author="your name <your email>"
``
## 撤销最后一次push
```bash
git reset --hard HEAD^
#或退到/进到 指定commit_id:
git reset --hard commit_id
git push origin HEAD --force
Backlinks