更新: 1 个文件 - 2026-03-17 21:34:01

这个提交包含在:
hao
2026-03-17 21:34:01 -07:00
父节点 316d36a20e
当前提交 29e753c170

查看文件

@@ -58,6 +58,36 @@ remote_repo_reachable() {
git ls-remote --exit-code origin HEAD >/dev/null 2>&1
}
current_branch_name() {
local branch
branch=$(git branch --show-current 2>/dev/null || true)
if [ -z "$branch" ]; then
branch="main"
fi
echo "$branch"
}
current_branch_needs_push() {
if ! git rev-parse --verify "@{upstream}" >/dev/null 2>&1; then
return 0
fi
[ "$(git rev-list --count @{upstream}..HEAD)" -gt 0 ]
}
main_ref_needs_push() {
if [ "$AUTO_PUSH_MAIN" != "1" ]; then
return 1
fi
if ! git rev-parse --verify "refs/remotes/origin/main" >/dev/null 2>&1; then
return 0
fi
! git merge-base --is-ancestor "refs/remotes/origin/main" HEAD
}
needs_push() {
current_branch_needs_push || main_ref_needs_push
}
ensure_remote_repo() {
if remote_repo_reachable; then
log_info "远程仓库可访问: ${GIT_USER}/${REPO_NAME}"
@@ -186,12 +216,8 @@ push_changes() {
log_info "推送到远程仓库..."
# 获取当前分支
local branch=$(git branch --show-current 2>/dev/null || echo "main")
# 如果分支为空,使用 main
if [ -z "$branch" ]; then
branch="main"
fi
local branch
branch=$(current_branch_name)
ensure_remote_repo
@@ -238,7 +264,11 @@ push_changes() {
full_sync() {
init_repo
commit_changes
push_changes
if needs_push; then
push_changes
else
log_info "没有需要推送的提交"
fi
}
auto_sync() {