GitLab常用操作

切换到已有的远程分支

查看所有分支--查看的时远程仓库的分支

git branch -a

切换到目标远程分支(假设目标分支为 target_branch)

git checkout -b target_branch origin/target_branch

关联到一个新的远程分支

创建并切换到新的本地分支(假设新分支名为 new_branch)

git checkout -b new_branch

将新分支推送到远程仓库,并建立关联

git push -u origin new_branch

修改已有的本地分支关联的远程分支

切换到目标本地分支(假设本地分支名为 local_branch)

git checkout local_branch

设置该本地分支关联的远程分支(假设远程分支名为 new_remote_branch)

git branch -u origin/new_remote_branch

查看当前分支关联的远程分支--查看的是本地仓库的分支

git branch -vv

修改当前分支关联的远程分支

假设要关联的远程新分支名为 new_remote_branch

git branch -u origin/new_remote_branch

通过 git branch -vv 查看时,只有部分分支后面带有远程分支的 URL 信息,通常意味着这些分支已经和远程分支建立了跟踪关系。而那些没有显示远程分支 URL 信息的分支,也可以推送到远程仓库,不过操作步骤会稍有不同。

已建立跟踪关系的分支

如果分支后面带有远程分支的 URL 信息,说明该分支已经和远程分支建立了跟踪关系,推送时可以直接使用以下命令:

复制代码
git push

这会将当前分支推送到其跟踪的远程分支。

未建立跟踪关系的分支

如果分支没有显示远程分支的 URL 信息,说明该分支尚未和远程分支建立跟踪关系。在推送这类分支时,需要明确指定远程仓库和远程分支的名称,一般使用以下命令:

复制代码
git push origin <本地分支名>:<远程分支名>

如果希望同时建立跟踪关系,可以使用 -u 选项:

复制代码
git push -u origin <本地分支名>:<远程分支名>

之后,再次推送该分支时就可以直接使用 git push 了。

示例代码

假设本地有 mainfeature1feature2 三个分支,其中 main 已经建立了跟踪关系,feature1feature2 没有建立跟踪关系,以下是推送这些分支的示例代码:

复制代码
# 推送已建立跟踪关系的分支
git checkout main
git push

# 推送未建立跟踪关系的分支,并建立跟踪关系
git checkout feature1
git push -u origin feature1

git checkout feature2
git push -u origin feature2
相关推荐
daemon.qiang2 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li7 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
旧梦星轨9 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨9 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐12 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li12 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐13 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵14 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐14 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐14 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo