Git 应用 -- 多人协作开发场景1

目录

    1. 既查看本地仓库的分支,又查看远程仓库的分支: git branch -a (但是远程的分支只能查看,不能直接切换到远程的分支上)

    2. 本地的分支和远程的分支建立连接:git checkout -b [分支名]  [要连接远程的分支名]

    3. 查看分支和分支建立起来的连接:git branch -vv

多人开发 Git 使用场景


前言

    首先介绍几个多人协作开发场景中经常使用的命令 ---

    1. 既查看本地仓库的分支,又查看远程仓库的分支: git branch -a (但是远程的分支只能查看,不能直接切换到远程的分支上)

    2. 本地的分支和远程的分支建立连接:git checkout -b [分支名]  [要连接远程的分支名]

(除了这个命令还有一种方式也可以将本地分支和远程分支建立连接:git branch --set-upstream-to=origin/dev dev)

    上图就是将本地的 dev 分支和远程仓库中的 dev 分支进行了连接,其实前一篇文章总结的 push 和 pull ,说的都是分支和分支建立连接,是本地的某一个分支将修改的内容 push 到远程的某一个分支当中,pull 操作也是一样的,都是本地的某一个分支对应到远程仓库的某一个分支。

    3. 查看分支和分支建立起来的连接:git branch -vv

    下图所示可看到:本地的 dev 分支已经和远端的 dev 分支建立了连接,本地的 master 分支已经和远端的 master 分支建立了连接,master 分支是会自动建立连接的,

    这个命令的作用:如上图所示,如果将本地的某一个分支和远程的某一个分支建立了连接之后,此时就可以使用 git push / pull 短命令了,就可以不再使用  git push origin master 这个命令了。

多人开发 Git 使用场景

    下图所示:模拟一个场景:两个开发人员来进行协作开发,开发者1对 file.txt 文件新增内容 “aaa”,开发者2对 file.txt 文件新增内容 “bbb”,但是前提是在一个分支下来完成协作开发。(所以此时一定不可以在 master 主分支来进行开发)

     对应到下图中的映射关系:

 1. 模拟开发者1来完成对文件的内容进行新增:

    新建 dev 分支,并将本地 dev 分支和远程 dev 分支建立连接(git branch -b dev origin/master)

    然后对 file.txt 文件内容新增,最后提交修改后的 file.txt。之后查看本地仓库的状态:

    使用 git push 来将修改后的 file.txt 推送到远程仓库,可以看到本地 dev 分支和远程 dev 分支已经建立好连接,可使用 git push 短命令来进行推送。执行结果如下图所示:

 2. 模拟开发者2 来对 file.txt 文件内容新增:

此时可以使用 windows 中的PowerShell来模拟(shift + 右键,后点击打开 PowerShell)

首先将远程仓库克隆下来

    如果没有将本地的 dev 分支 和远程的 dev 分支进行关联,此时直接使用 git pull / push 是不可以的,所以需要进行关联:

   之后对 file.txt 文件新增 “bbb”,可以直接打开文件来修改,之后保存可以看到有红色叹号,此时就是还没有提交的文件:

    然后进行 push,正常会显示失败,因为此时代码是冲突的,解决方法:先将冲突的代码 pull 到本地仓库,之后进行修改,修改之后再次进行提交:

    如上图执行结果所示,显示已经 push 成功,现在可以看下远程仓库的push 的代码是否是正确的:

    

相关推荐

  1. Git 协作开发

    2023-12-06 11:58:01       40 阅读
  2. Git协作场景的使用

    2023-12-06 11:58:01       28 阅读
  3. git实现协作开发同一个项目

    2023-12-06 11:58:01       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 11:58:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 11:58:01       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 11:58:01       87 阅读
  4. Python语言-面向对象

    2023-12-06 11:58:01       96 阅读

热门阅读

  1. ArcGIS根据相邻关系提取相邻面&提取面公共线

    2023-12-06 11:58:01       55 阅读
  2. 检查您的手机浏览器是否支持WebRTC技术

    2023-12-06 11:58:01       69 阅读
  3. 微信小程序实现下拉刷新事件、上拉触底事件

    2023-12-06 11:58:01       65 阅读
  4. 利用Python爬虫爬取豆瓣电影排名信息

    2023-12-06 11:58:01       64 阅读
  5. (软件、服务、应用程序和协议)的默认端口号

    2023-12-06 11:58:01       54 阅读
  6. spark sql基于CBO的优化

    2023-12-06 11:58:01       67 阅读
  7. 自动化工具之-影刀RPA

    2023-12-06 11:58:01       56 阅读
  8. 后端架构的一些知识

    2023-12-06 11:58:01       58 阅读