如何在不检出的情况下推送本地功能分支?

8 浏览
0 Comments

如何在不检出的情况下推送本地功能分支?

我正在将仓库从svn迁移到git,但我使用的git命令只能推送主分支,我需要手动检出特性分支并将其推送到远程。

git push --all origin
git push --tags

上述命令不会推送特性分支。有没有一条git命令可以自动为我检出分支并将其推送到远程?

0
0 Comments

问题的原因是想要在不检出的情况下推送本地特性分支。解决方法是使用以下命令:git push origin local_branch:remote_new_or_existing_branch_name,其中local_branch是本地分支的名称,remote_new_or_existing_branch_name是要推送到的远程分支的名称。这个命令会将本地分支推送到远程仓库中。

然而,这种方法需要列出每个要推送的本地分支。如果想要像git push --tags一样推送所有标签到远程仓库,上述方法就不适用了。目前还没有一种类似的命令可以一次性推送所有本地分支。

如果希望将所有本地分支推送到远程仓库,需要使用循环命令来遍历所有分支。以下是一个示例代码:

for branch in $(git branch --format='%(refname:short)'); do
    git push origin $branch
done

这段代码将遍历所有本地分支,并使用git push命令将每个分支推送到远程仓库。这样就可以一次性推送所有本地分支了。

希望以上内容对你有帮助!

0