如何处理git多分支

本篇文章主要处理以下两种多分支问题

  1. 如何将自己在本地的修改上传到一个新的Git分支(比如用于测试,不合并进main分支)?
  2. 如何在一个新的本地仓库拉取一个项目的非main分支,并处理他们关联关系?

1. 将自己在本地的修改上传到一个新的Git分支。

1.1 切换到目标分支

(1) 首先可以确定一下当前本地的分支和远程的分支

# 查看本地分支
git branch

# 查看远程分支
git branch -r

# 查看所有分支
git branch -a

其中* 就代表自己目前所在的分支。

(2)比如本地和远程上都只有main,这时你只是想同步自己的实验性代码,并不想合并进main分支,那么此时我们可以先在本地新建一个名为experimental的分支并切换到新分支上:(如果分支已经存在,则不加-b,直接切换即可)

git checkout -b experimental

1.2 提交你的更改

git add .
git commit -m "Your commit message"

这里的 . 表示添加所有更改的文件,你也可以指定具体的文件。“Your commit message” 应该是一个描述你所做更改的信息。

1.3 推送到远程仓库

如果这是第一次将 experimental 分支推送到远程仓库,你需要使用 -u 参数来设置上游(远程)分支:

git push -u origin experimental

这将创建一个名为 experimental 的新分支在你的 GitHub 仓库中,并将你的本地更改推送到这个远程分支。-u 参数表示将本地分支与远程分支关联起来,以便于今后的推送和拉取操作。

如果远程仓库中已经有 experimental 分支,并且你之前已经设置了跟踪关系,那么你只需要简单地运行:

git push

接下来你就可以灵活地在本地进行分支的切换了(checkout),他们分别和远程上对应名字的分支对应。
如何处理git多分支_第1张图片

2. 在一个新的本地仓库拉取一个项目的非main分支,并处理他们关联关系。

2.1 克隆仓库(如果尚未克隆)

如果你还没有克隆远程仓库,首先需要克隆它。使用 git clone 命令,加上仓库的 URL,以拉取FlexGen为例:

git clone https://github.com/Cheny1m/FlexGen.git

2.2 切换到你想要的分支(如 experimental) 分支

进入仓库目录:

cd FlexGen/

将 FlexGen 替换为你的仓库名。
然后,使用 git checkout -b 命令创建并切换到新的本地分支,同时设置其跟踪对应的远程分支:

git checkout -b experimental origin/experimental

2.3 拉取最新的更改

在新创建的分支上,你现在可以拉取最新的更改:

git pull 

如何处理git多分支_第2张图片
同样的,你可以灵活地在本地进行分支的切换了(checkout),他们分别和远程上对应名字的分支对应。

你可能感兴趣的:(Git使用,git)