一、分支概念
- 在版本回退里,每次提交,git都把它们串成一条时间线,这条时间线可以理解为是一个分支。默认git创建仓库以后,只有一个分支,叫做主分支master/重命名main。
- HEAD指针,严格来说不是指向提交,而是指向master,master才是指向提交的。而HEAD指向的分支就是当前分支。
- 每次提交,master分支都会向前移动一步,这样,随着不断的提交,master分支线也会越来越长,而HEAD只要一直指向master分支即可指向当前分支。
二、本地Git分支的增删查
1. 查看分支:git branch
- 输出:cyj和main是并列的分支,当前HEAD 指向cyj分支
2. 创建新分支,并立即切换HEAD到该分支:git checkout -b 新分支名称
3. 切换HEAD到分支:git checkout 分支名称
- 输出: Switched to branch ‘main’
Your branch is up to date with ‘origin/main’. - 翻译:已切换到分支 main。
您的分支与远程分支 origin/main 是最新的(没有新的提交)。
4. 删除分支:先切换到其他分支,再git branch -d 要删除的分支名称
- 输出: error: The branch ‘cyj’ is not fully merged.
If you are sure you want to delete it, run ‘git branch -D cyj’. - 翻译: 分支 cyj 上有一些更改还没有被合并到当前分支 main 中。
如果您确定要删除它,请 git branch -D cyj 强制删除
5. 显示所有分支的提交历史
- git log --oneline --graph --all
6. 检查本地分支与远程分支的关联情况
- git branch -vv
7. 将本地分支与远程分支关联
- 先切换到本地分支 git checkout cyj
- 再设置与远程分支的关联:git push -u origin cyj
- 验证关联:git branch -vv
三、本地Git分支中文件的增删查
1. 查看本地 cyj 分支中的文件
- 切换分支
- 查看文件列表ls
- 可以看到main分支和cyj分支,都只有git_test.txt文件
2. 将cyj的某一文件 移动到main分支
- 在移动文件之前,确保 cyj 分支中的更改已被提交
- 切换到目标分支 main
- git checkout cyj – path/to/your/file
- 在main分支上提交更改
3. 将cyj的所有文件 复制(合并)到main分支
- 在复制文件之前,确保 cyj 分支中的更改已被提交
- 切换到目标分支 main
- git merge cyj
- 在main分支上提交更改
4. cyj 分支中增加文件
- 切换到 cyj 分支
- 创建文件 touch newfile.txt
- 将文件添加到 Git暂存区 git add newfile.txt
如果想添加当前目录下所有新文件 git add . - 提交更改和日志 git commit -m “我添加了新文件newfile.txt”
5. cyj 分支中删除文件
- 切换到 cyj 分支
- 删除文件 git rm room.txt
- 更新删除文件的状态 git add -u
- 提交更改和日志 git commit -m “我删除了文件room.txt”
四、Gitee分支管理
1. 使用命令查看分支:git branch -r
2. 在图形化页面上操作
- 通过创建不同的分支,你可以在同一个项目上同时进行多个功能的开发或修复bug的工作。
- 当开发完成后,再将分支合并到主干上。
- 这样,就可以灵活地管理项目的多个版本了。