mac电脑.sh文件,用来清除git当前分支

powershell 复制代码
#!/bin/bash

echo "正在检查Git仓库..."
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
    echo "错误:当前目录不是Git仓库!"
    exit 1
fi

echo "警告:这将丢弃所有未提交的更改和本地提交!"
read -p "Are you sure to continue? (Y/N): " confirm

if [[ "$confirm" != "Y" && "$confirm" != "y" ]]; then
    echo "Operation cancelled."
    exit 0
fi

echo "正在强制同步当前分支到远程状态..."
git reset --hard HEAD || {
    echo "错误:重置分支失败!"
    exit 1
}

git clean -fd || {#!/bin/bash

echo "正在检查Git仓库..."
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
    echo "错误:当前目录不是Git仓库!"
    exit 1
fi

# 获取当前分支名
current_branch=$(git symbolic-ref --short HEAD 2>/dev/null)
if [ -z "$current_branch" ]; then
    echo "错误:无法确定当前分支!"
    exit 1
fi

echo "警告:这将丢弃所有未提交的更改和本地提交!"
echo "当前分支: $current_branch"
read -p "Are you sure to continue? (Y/N): " confirm

if [[ "$confirm" != "Y" && "$confirm" != "y" ]]; then
    echo "操作已取消。"
    exit 0
fi

# 首先获取远程最新状态
echo "正在获取远程最新状态..."
if ! git fetch origin "$current_branch"; then
    echo "错误:获取远程分支失败!"
    exit 1
fi

# 重置到远程分支状态
echo "正在强制重置分支到远程状态..."
if ! git reset --hard "origin/$current_branch"; then
    echo "错误:重置分支失败!"
    exit 1
fi

# 清理未跟踪文件
echo "正在清理未跟踪文件..."
git clean -fd || {
    echo "警告:清理未跟踪文件时遇到问题,但继续操作"
}

# 再次拉取确保同步
if ! git pull; then
    echo "警告:git pull 执行失败,但同步操作已完成"
fi

echo "同步完成!当前状态:"
git status
read -p "按回车键继续..."
    echo "错误:清除未跟踪文件失败!"
    exit 1
}

if ! git pull; then
    echo "警告:git pull 执行失败,但同步操作已完成"
fi

git status
echo "提示:nothing to commit, working tree clean后,完成!"
read -p "按回车键继续..."

使用说明:

1、将脚本保存为 reset_git.sh

2、打开终端,赋予执行权限:chmod +x reset_git.sh

3、在 Git 仓库文件加打开终端,在中运行:./reset_git.sh

相关推荐
寒水馨40 分钟前
macOS下载、安装scrcpy-v4.1(附安装包scrcpy-macos-aarch64-v4.1.tar.gz)
macos·adb·手机控制·scrcpy·投屏软件·android投屏·屏幕镜像
胖大和尚16 小时前
git本地实现local->remote推送
git
BerryS3N16 小时前
Code Git 工作树:多分支开发的痛点与工作树的曙光
大数据·git·elasticsearch
xiaowang1234shs18 小时前
怪兽轻断食技术深度测评:从断食计时引擎到AI识别算法的工程实践解析
数据库·人工智能·算法·macos·机器学习·p2p·visual studio
Elasticsearch19 小时前
Elastic 与 Deductive AI 携手合作,加速工程团队的 agent 式事件调查
elasticsearch
Elasticsearch20 小时前
将你的 Grafana Kubernetes 仪表板迁移到 Elastic Observability:相同的 PromQL,30 倍更快的查询
elasticsearch
lbb 小魔仙20 小时前
Git + Python 项目工作流最佳实践:pre-commit、CI、CHANGELOG 自动化
git·python·ci/cd
yAdrian21 小时前
macOS launchd CPU 占用过高问题排查记录
macos
代码的小搬运工1 天前
【iOS】3G-Share仿写总结
macos·ios·cocoa
Xu_youyaxianshen1 天前
Git 零基础常用指令手册(Gitee / GitHub 通用 )
git·gitee·github