feat: 添加仓库迁移脚本
- 新增 migrate.sh 脚本用于将 Git 仓库迁移到新远程目标 - 脚本接受原始仓库 URL 和仓库名称作为参数 - 实现了从原始仓库克隆、清理元数据、重新初始化 Git 仓库 - 并配置新的远程目标,推送更改到新仓库 - 最后清理工作目录
This commit is contained in:
parent
de93986e6e
commit
facb93cd90
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Migrate Git repository to new remote target
|
||||
# Parameters:
|
||||
# $1 - Original repository URL (OURL)
|
||||
# $2 - Repository name (RepoName)
|
||||
# Returns:
|
||||
# 0 - Success (all operations completed)
|
||||
# !=0 - Failure (original git clone failed)
|
||||
|
||||
OURL=$1
|
||||
RepoName=$2
|
||||
TARGET=ssh://git@git.pyer.club:2222/SixMeta
|
||||
|
||||
# Clone original repository with shallow depth
|
||||
git clone --depth 1 $OURL
|
||||
|
||||
# Check if clone succeeded
|
||||
if [ $? -eq 0 ]; then
|
||||
# Navigate to repo directory
|
||||
cd $RepoName
|
||||
|
||||
# Clean up existing git metadata
|
||||
rm -rf .git
|
||||
|
||||
# Reinitialize git repository with master branch
|
||||
git init -b master
|
||||
|
||||
# Stage all files and create initial commit
|
||||
git add .
|
||||
git commit -m "migrate init"
|
||||
|
||||
# Configure new remote target and push changes
|
||||
git remote add origin $TARGET/$RepoName.git
|
||||
git push -u origin master
|
||||
|
||||
# Cleanup working directory
|
||||
cd ..
|
||||
rm -rf $RepoName
|
||||
fi
|
||||
Loading…
Reference in New Issue