用Git远程仓库实现多人协同开发

简介: 用Git远程仓库实现多人协同开发

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

分支

初识分支

分支-合并与删除

分支-合并与提交

分支-合并冲突

Git 常用命令

Git 远程仓库

Git 远程仓库-克隆

多人协同开发

Git 常用命令  编辑


分支

初识分支

概念:本质上是指向 提交节点 的可变 指针 ,默认名字是 master

注意: HEAD 指针 影响工作区/暂存区的代码状态

场景:开发 新需求 / 修复 Bug ,保证主线代码随时可用,多人协同开发提高效率

例如:

       在现有代码上创建新分支完成内容列表业务突然需要紧急修复 Bug - 单独创建分支解决 Bug

需求:创建内容列表 content 分支,并产生 3 次提交记录

步骤:

       1. 创建分支命令: git branch 分支名

       2. 切换分支命令: git checkout 分支名

       3. 工作区准备代码并暂存提交,重复 3 次

周星辰@˽□□ר□□□豸 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

写完新的分支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 (把远程分支记录合并到所在分支下)

Git 常用命令  

相关文章
|
2月前
|
持续交付 项目管理 开发工具
Git项目管理——远程仓库(四)
Git项目管理——远程仓库(四)
47 2
|
2月前
|
Linux 项目管理 开发工具
Git项目管理——仓库概述(一)
Git项目管理——仓库概述(一)
40 1
|
6天前
|
存储 Java 开发工具
Git 仓库瘦身与 LFS 大文件存储
【8月更文挑战第13天】在软件开发中,Git仓库可能因累积大量数据而变得臃肿。通过删除多余分支和标签、清理无用提交,并利用`git gc`命令,可有效瘦身仓库。此外,使用Git LFS(Large File Storage)管理大文件,不仅能维持仓库精简,还能高效协作。需先安装并初始化LFS,然后跟踪特定格式的大文件。通过标准的`git add`和`git commit`命令即可管理这些文件,LFS会自动处理其存储与传输。这种方式有助于提升仓库性能与可维护性,但需注意可能产生的额外存储成本。
|
7天前
|
缓存 Shell 网络安全
Git Bash⭐二、与仓库建立连接、提交与下拉项目
Git Bash⭐二、与仓库建立连接、提交与下拉项目
|
1月前
|
网络安全 开发工具 数据安全/隐私保护
Git远程仓库Gitee的使用详解
Git远程仓库Gitee的使用详解
Git远程仓库Gitee的使用详解
|
13天前
|
jenkins 持续交付 网络安全
[jenkins]连接git仓库
[jenkins]连接git仓库
|
23天前
|
开发工具 git
git或gitee 提交代码到远程仓库
git或gitee 提交代码到远程仓库
20 2
|
1天前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之如何将个人账号下的Git仓库转移到企业账号下
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
12天前
|
网络安全 开发工具 git
python在容器内克隆拉取git私有仓库
python在容器内克隆拉取git私有仓库
|
1月前
|
开发工具 git
git开源仓库路径在那里找
git开源仓库路径在那里找
git开源仓库路径在那里找