转载请注明出处
https://blog.csdn.net/aa464971/article/details/103779662
删除已推到远程分支的提交
git log
复制需要回滚的commit_id,把HEAD指向这个commit_id并强制推送
git reset --hard [commit_id]
git push origin HEAD --force
交互式命令
echo "输入要回滚的commit id" && read id && git reset --hard $id && git push origin HEAD --force
强制更新
抛弃当前所有的变更并更新
git fetch --all
git reset --hard origin/[分支名称]
git pull
交互式命令
echo "输入要更新的分支(default: master)" && read input && branch=${input:=master} && echo 从"$branch"拉取更新 && git fetch --all && git reset --hard origin/"$branch" && git pull
克隆到非空文件夹
git clone --no-checkout [git_url] tmp
mv tmp/.git .
rmdir tmp
git reset --hard HEAD
交互式命令
克隆并覆盖当前文件夹
echo "输入要克隆的URL" && read url && echo 克隆"$url"到当前文件夹 && git clone --no-checkout $url tmp && mv tmp/.git . && rmdir tmp && git reset --hard HEAD
更改全局用户名和邮箱
全局用户名
git config --global user.name "[用户名]"
全局邮箱
git config --global user.email "[邮箱地址]"
给Github设置SSH代理
修改或创建config
vi ~/.ssh/config
设置Github走1080端口
Host github.com
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p