diff --git a/scripts/project_init.py b/scripts/project_init.py index b621e62..19e993a 100644 --- a/scripts/project_init.py +++ b/scripts/project_init.py @@ -33,11 +33,12 @@ class ProjectInit(Task): repo.git.fetch(remote_name) - # 2. 创建本地分支并跟踪远程分支 - remote_branch_ref = f"{remote_name}/{branch_name}" - local_branch = repo.create_head(branch_name, remote_branch_ref) # 创建本地分支指向远程 - local_branch.set_tracking_branch(repo.remotes[remote_name].refs[branch_name]) # 设置跟踪 - local_branch.checkout() # 切换到该分支 + if repo.active_branch.name != branch_name: + # 2. 创建本地分支并跟踪远程分支 + remote_branch_ref = f"{remote_name}/{branch_name}" + local_branch = repo.create_head(branch_name, remote_branch_ref) # 创建本地分支指向远程 + local_branch.set_tracking_branch(repo.remotes[remote_name].refs[branch_name]) # 设置跟踪 + local_branch.checkout() # 切换到该分支 self.context.local_repo_branch = repo.active_branch.name self.context.local_repo_commit = repo.head.commit.hexsha[:10]