(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)
分支
初识分支
概念:本质上是指向提交节点的可变指针,默认名字是 master
注意:HEAD 指针影响工作区/暂存区的代码状态
场景:开发新需求 / 修复 Bug,保证主线代码随时可用,多人协同开发提高效率例如:
在现有代码上创建新分支完成内容列表业务突然需要紧急修复 Bug - 单独创建分支解决 Bug![](https://img-blog.csdnimg.cn/92564e50ecd946aab2da16fbd2bf7db8.png)
需求:创建内容列表 content 分支,并产生 3 次提交记录
步骤:
1. 创建分支命令:
git branch 分支名
2. 切换分支命令:
git checkout 分支名
3. 工作区准备代码并暂存提交,重复 3 次![](https://img-blog.csdnimg.cn/0bc8ca9f2f9a432c92f5e5174ede29f0.png)
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (master)
$ git branch content
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (master)
$ git checkout content
Switched to branch 'content'
A day01/page/login/index.css
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git branch
* content
master
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git add .
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git commit -m '7.内容页面-标题搭建'
[content 83b2566] 7.内容页面-标题搭建
44 files changed, 1369 insertions(+)
create mode 100644 day01/page/login/index.css
周星辰@˽□□ר□□□豸 MINGW64 /d/Git学习 (content)
$ git log --oneline
83b2566 (HEAD -> content) 7.内容页面-标题搭建
b58777f (master) 1.登录页面-标签部分准备
分支-合并与删除
需求:把 login-bug 合并回到 master 分支并删除 login-bug 分支
步骤:
1. 切回到要合入的分支上:git checkout master 2. 合并其他分支过来:git merge login-bug 3. 删除合并后的分支指针:git branch -d login-bug![](https://img-blog.csdnimg.cn/38ac1baeb4e046789715f5f27eaceb4c.png)
写完新的分支login-bug后,先切回要合入的分支上
在当前分支中合并login-bug分支
最后将原来的login-bug分支删除
分支-合并与提交
合并提交:发生于原分支产生了新的提交记录后,再合并回去时发生,自动使用多个快照记录合并后产生一次新的提交
步骤:
1. 切回到要合入的分支上:
git checkout master
2. 合并其他分支过来:
git merge content
3. 删除合并后的分支:
git branch -d content
最后合并回到主分支上时,提交记录流程图:
注意:提交记录的顺序按照产生的先后顺序排列,而非合并的先后顺序
分支-合并冲突
需求1:基于 master 新建 publish 分支,完成发布文章业务,然后修改内容页面的 html 文件的 title 标签,并提交一次
需求2:切换到 master,也在修改内容页面的 html 文件的 title 标签,并提交一次
冲突:把 publish 分支合并到 master 回来,产生合并冲突
概念:不同分支中,对同一个文件的同一部分修改,Git 无法干净的合并,产生合并冲突
解决:
1. 打开 VSCode 找到冲突文件并手动解决 2. 解决后需要提交一次记录
避免:(多交流)
1. 按页面划分不同分支开发 2. 公共代码在统一文件夹维护 3. Node等软件版本统一,npm 包统一下载
Git 常用命令
Git 远程仓库
概念:托管在因特网或其他网络中的你的项目的版本库
作用:保存版本库的历史记录,多人协作
创建:公司自己服务器 / 第三方托管平台(Gitee,GitLab,GitHub...)
需求:创建远程版本库,并把本地 Git 仓库推送上去保存
步骤:
1. 注册第三方托管平台网站账号 2. 新建仓库得到远程仓库 Git 地址 3. 本地 Git 仓库添加远程仓库原点地址
** 命令**:git remote add 远程仓库别名 远程仓库地址
**例如**:git remote add origin https://gitee.com/lidongxu/work.git 4. 本地 Git 仓库推送版本记录到远程仓库 ** 命令**:git push -u 远程仓库别名 本地和远程分支名 ** 例如**:git push -u origin master ** 完整写法**:git push --set-upstream origin master:master
Git 远程仓库-克隆
克隆:拷贝一个 Git 仓库到本地,进行使用
命令:git clone 远程仓库地址,例如:git clone https://gitee.com/lidongxu/work.git
效果:在运行命令所在文件夹,生成 work 项目文件夹(包含版本库,并映射到暂存区和工作区)
注意1:Git 本地仓库已经建立好和远程仓库的链接
注意2:仓库公开随意克隆,推送需要身为仓库团队成员
多人协同开发
需求:小传新代码共享给小智
步骤:
1. 小传开发代码 -> 工作区 -> 暂存区 -> 提交 -> 拉取(可选)-> 推送 2. 小智 -> 拉取(后续也可以开发代码 -> ... -> 推送) 3. 想要看到别人同步上去的最新内容:git pull origin master 等价于 git fetch origin master:master(获取远程分支记录到本地,未合并) git merge origin/master (把远程分支记录合并到所在分支下)![](https://img-blog.csdnimg.cn/9368402d87894c21b423e9108a1fcca5.png)
Git 常用命令
版权归原作者 小周不摆烂 所有, 如有侵权,请联系我们删除。