Git基础学习_part2
5.分支管理(分支的创建、切换、合并)
在实际开发中,我们经常会遇到这种需求:
- 不打扰主线代码,先试试一个新功能
- 多个开发人员各自写各自的功能
- 想在多个版本之间切换工作
这时,就要用到「分支(branch)」来隔离、管理不同的开发线。
补充对分支的理解,如我在main分支创建了a.txt (未add),此时创建dev分支可以看见main分支对a.txt的更改。但如果我在dev上commit之后,回到main之后则不存在a.txt文件了,就相当于两个工作区一样
Git 分支基本概念
- 主分支:默认叫
master(或main) - 分支的本质:一个指向某次提交的“指针”
- HEAD:指向当前分支的位置(你正在干活的分支)
1.查看已有分支: git branch 分支名
git branch
- 会列出当前所有分支,当前所在的分之前有
*标记
2.创建新分支:git branch 分支名
git branch dev
- 创建一个名为dev的新分支,复制自当前分支的最新提交。
3.切换分支:git switch 分支名
git switch dev
- 此时已切换dev分支,开始在上面开发了
- 如果是老版本Git,也可以用
git checkout dev。
4.创建并切换新分支:一条命令搞定
git switch -c dev
相当于:
git branch dev
git switch dev
Git 会尝试把dev上的改动合并进master,如果没有冲突,会自动完成。
5.合并分支:git merge
切换会主分支后,合并新分支的内容:
git switch main
git merge dev
Git 会尝试把dev上的改动合并进main,如果没有冲突,会自动完成。
6.删除分支(合并后清理):git branch -d
git branch -d dev
如果你确认合并完了,就可以删掉旧分支。
6.搭建ssh远程连接(无需梯子)
一、配置git bash
在git bash中运行以下:
ssh-keygen -t ed25519 -C "你的GitHub邮箱"
当提示:
Enter file in which to save the key (~/.ssh/id_ed25519):
你可以直接回车(会覆盖旧的 id_ed25519)
或者输入一个新名字,比如:
~/.ssh/id_ed25519_laptop
二、启用新的ssh key
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_laptop
三、把公钥加到Github
cat ~/.ssh/id_ed25519_laptop.pub
复制整段(从 ssh-ed25519 开始到最后),
然后在 GitHub → Settings → SSH and GPG keys → New SSH key → 粘贴保存。
标题建议写成 “Laptop - 2025” 这种好区分的名字。
四、验证
ssh -T git@github.com
看到:
Hi Sirens007! You've successfully authenticated...
说明配置成功
7.远程仓库操作
1.远程仓库概念
本地 Git 仓库 = 你电脑上的版本库(.git 目录)。
远程仓库 = 存在于服务器(比如 GitHub)上的版本库。
2.四个常用操作
(1)clone - 从远程仓库下载到本地
git clone https://github.com/Sirens007/MyStorage.git
#运行后,你本地就有一个 myproject 目录,并且可以直接 git pull 或 git push。
作用:
- 会在本地新建一个文件夹
- 自动把该仓库的所有版本历史下载到本地
- 自动设置好
origin这个远程名,指向该仓库
(2)remote - 管理远程仓库地址
查看已有远程:
git remote -v
添加远程:
git remote add origin https://github.com/Sirens007/MyStorage.git
修改远程:
git remote set-url origin <新地址>
删除远程:
git remote remove origin
origin 是默认的远程仓库名字,你也可以用别的名字。
(3)push - 推送本地代码到远程
第一次推送(如果远程没有内容):
git push -u origin main
解释:
origin:远程仓库名main:分支名-u:记住这个推送目标,下次可以直接git push
之后推送就可以:
git push
(4)pull - 从远程拉取最新版本
git pull origin main
作用:
- 把远程 main 分支的最新提交下载到本地
- 并与本地当前分支合并
如果远程没有变化,你会看到:
Already up to date.
(5)远程分支与本地分支的关系
- 当你执行
git clone或git fetch后,Git 会在本地维护远程分支的快照,叫做 远程跟踪分支,格式一般是origin/分支名。 - 本地分支和远程分支是分开的,推送(
push)和拉取(pull)就是它们之间的同步操作。
(6)查看远程分支
git branch -r
- 只列出远程仓库的分支
git branch -a
- 本地和远程所有分支都会显示
(7)跟踪远程分支的新建本地分支
如果远程有个分支,你想在本地工作,需要先新建一个本地分支跟踪远程:
git switch-c dev origin/dev
- 这会基于远程
dev分支新建本地dev分支
(8)远程仓库冲突解决
多人合作时,推送可能被拒绝,提示远程有更新需要先拉取:
git push
To https://github.com/xxx.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/xxx.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. ...
这时,需要先拉取远程的最新修改:
git pull --rebase origin main
--rebase表示把你的提交“挪到”最新远程修改之后,避免额外合并提交。
(9)查看远程仓库详情
git remote show origin
可以看到:
- 远程分支状态
- 你本地分支对应的上游分支
- 是否有可推送或拉取的内容
更多推荐


所有评论(0)