更新: 1 个文件 - 2026-03-17 21:34:01
这个提交包含在:
@@ -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() {
|
||||
|
||||
在新工单中引用
屏蔽一个用户