git删除远程不存在的本地分支

Text
# Linux
# 中文环境
git fetch --prune
git branch -vv | grep ': 丢失' | awk '{print $1}' | xargs git branch -D
# 英文环境
git fetch --prune
git branch -vv | grep ': gone' | awk '{print $1}' | xargs git branch -D
PowerShell
# windows Powershell
# zh
git fetch --prune
git branch -vv | Select-String ': 丢失' | ForEach-Object { $_.ToString().Split(" ")[2] } | ForEach-Object { git branch -D $_ }

# en
git fetch --prune
git branch -vv | Select-String ': gone' | ForEach-Object { $_.ToString().Split(" ")[2] } | ForEach-Object { git branch -D $_ }

git回退最近的几次提交

如果你想将Git提交回退到上一次的提交,你可以使用以下命令:

Bash
git reset --hard HEAD∼1

这个命令将HEAD指针移动到上一个提交,并且它将工作目录也改变为该提交的状态。注意,--hard选项会丢弃当前工作目录中的所有更改。

如果你想保留你的工作目录中的更改,你可以使用--soft--mixed选项:

Bash
git reset --soft HEAD∼1

或者

Bash
git reset --mixed HEAD∼1

其中,--soft选项会保留你的更改并将它们标记为待提交的更改,而--mixed选项则会保留你的更改但并不会将它们标记为待提交的更改。

克隆仓库时使用自己的rsa密钥

Bash
#!/usr/bin/env bash

script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)

killall ssh-agent

# 启动代理
eval "$(ssh-agent -s)"

# 添加res密钥
ssh-add "${script_dir}/id_rsa"

# 查看是否添加成功
ssh-add -l
⚠️ 警告
  1. 启动必须使用. ssh_agent.sh或者source ssh_agent.sh,这样才能在当前shell环境中生效

  2. 可以通过echo $SSH_AGENT_PIDecho $SSH_AUTH_SOCK两个环境变量查看是启动成功