切分支的
This commit is contained in:
parent
de271eb6b4
commit
fc46fb68d6
|
@ -34,11 +34,16 @@ class ProjectInit(Task):
|
||||||
repo.git.fetch(remote_name)
|
repo.git.fetch(remote_name)
|
||||||
|
|
||||||
if repo.active_branch.name != branch_name:
|
if repo.active_branch.name != branch_name:
|
||||||
# 2. 创建本地分支并跟踪远程分支
|
# 检查本地是否已存在该分支
|
||||||
remote_branch_ref = f"{remote_name}/{branch_name}"
|
if branch_name in repo.heads:
|
||||||
local_branch = repo.create_head(branch_name, remote_branch_ref) # 创建本地分支指向远程
|
# 本地分支已存在,直接切换
|
||||||
local_branch.set_tracking_branch(repo.remotes[remote_name].refs[branch_name]) # 设置跟踪
|
repo.heads[branch_name].checkout()
|
||||||
local_branch.checkout() # 切换到该分支
|
else:
|
||||||
|
# 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_branch = repo.active_branch.name
|
||||||
self.context.local_repo_commit = repo.head.commit.hexsha[:10]
|
self.context.local_repo_commit = repo.head.commit.hexsha[:10]
|
||||||
|
|
Loading…
Reference in New Issue