Git获取执行结果并自动化merge提交

本文分享了一种脚本,帮助开发者自动重试GitHub推送,解决连接错误和代码冲突,提升开发效率。通过bash脚本实现,适用于频繁遭遇网络问题或冲突的程序员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🐵个人主页:ximury.blog.csdn.net
🐸Github:github.com/ximury
🐹精言佳句:天若有情天亦老,月如无恨月长圆


fatal: 无法访问 ‘https://github.com/…’:GnuTLS recv error (-54): Error in the pull function.

fatal: 无法访问 ‘https://github.com/…’:Failed to connect to github.com port 443: 拒绝连接


在使用github推送或拉取代码的时候,你有没有经常遇到这类问题?

一般,我们多次尝试之后,就能成功了!

但是,多多少少会有些麻烦,作为一名程序猿,怎么能做重复工作呢!!


因此,我写了一个简单的脚本,在git push往GitHub推送代码时,会检测推送结果,如果失败了,自动进行再次尝试推送,直至成功或达到最大次数限制!

#!/bin/bash
for ((i=1;i<=10;i++))
do
	echo "now trying connect num: $i"
	d=$(date)
	echo $d
	result="$(git push origin -f)"
	res=$?
	echo $res
	if [[ $res != *[^0-9]* ]]&&[[ $res != 0* ]];
	then
		echo $res is int
	else
		echo $res is string
	fi
	if [[ $res == 0 ]];
	then
		echo "break!" && break
	else
		echo -e "not yet submitted, continue~\n"
	fi
done

其中,核心是res=$?$?的作用是获取上个命令执行的结果。

0:代表成功;

1:代表有冲突,一般是:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支;

128:代表连接GitHub失败;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九思梦鹿

喜欢,请记得点赞或赞赏哟

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值