轉載請註明出處
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