Git多人协作场景的使用

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • Git多人协作
    • [1. 查看远程仓库](#1. 查看远程仓库)
    • [2. 推送代码](#2. 推送代码)
    • [3. 拉取分支](#3. 拉取分支)
    • [4. rebase](#4. rebase)

Git相关文章参考:
Git学习和使用指南简单篇
Git学习和使用指南详细篇
Git命令汇总

Git多人协作

git 本地仓库与远程仓库建立连接时是将本地的master分支和远程的master分支对应

远程仓库的默认名称为origin

1. 查看远程仓库

查看远程仓库名

l 复制代码
git remote

查看远程仓库详细信息

l 复制代码
git remote -v

该命令可查看到抓取fetch和推送push的地址,若无推送权限则不会显示push地址

2. 推送代码

把当前分支本地提交的代码推送到远程仓库,推送时需要指定本地分支,git将该分支推送到远程仓库对应的远程分支上
推送语法:

l 复制代码
git push origin <branch>

举例:

将本地master分支的提交推送的对应的远程仓库的master分支

l 复制代码
git push origin master

将本地dev分支的提交推送到对应远程仓库的dev分支

l 复制代码
git push origin dev

注意:

master分支为主分支,时刻需与远程同步,故需推送

dev分支为开发,团队成员都需要使用,故需推送

bug分支只用于本地修复bug,无需推送

feature分支需不需要推送取决于是否合作开发

3. 拉取分支

当多人协同工作时,不同人提交的代码不同,代码需要合并,此时推送代码可能会失败,需要解决冲突后提交

当前分支为master,先切换到dev,并将dev与远程的dev连接

l 复制代码
git checkout -b dev origin/dev

在dev分支上修改代码,然后添加、提交并推送到远程仓库

l 复制代码
git add .
l 复制代码
git commit -am "描述信息"
l 复制代码
git push origin dev

如果其他人也提交了你修改的那个文件,并且文件内容做了和你不同的修改,则可能会冲突,推送失败

此时需要先拉取最新的代码

l 复制代码
git pull

若拉取失败,原因根据提示可能是本地dev未指定远程origin/dev,直接设置本地与远程dev的连接

l 复制代码
git branch --set-upstream-to=origin/dev dev

建立链接后再拉取

l 复制代码
git pull

拉取成功,解决冲突然后提交再推送

l 复制代码
git commit -am ""
l 复制代码
git push origin dev

总结多人协作的代码拉取:

  • git push origin <branch-name>推送代码
  • 失败则git pull拉取最新代码到本地
  • 有冲突则解决冲突后并提交git commit
  • 然后推送git push origin <branch-name>

注意:
git pull提示no tracking information表示本地与远程分支未建立链接

用命令建立连接git branch --set-upstream-to <branch-name> origin/<branch-name>

4. rebase

rebase操作可以把本地未push的分叉提交历史整理成直线

rebase的目的是让查看历史提交的变化看起来更简单

缺点:本地的分叉提交会被修改


感谢阅读,祝君暴富!

相关推荐
君顾18 分钟前
折扣卡 CPS 小程序定制:从业务流程到系统架构的实践指南
java·开发语言·折扣卡
见不散10 分钟前
GPT-5.6 Luna (Batch) 批量处理能力深度评测
java·gpt·batch
江湖十年20 分钟前
Go 还是 Golang?可能你一直都搞错了!
后端·面试·go
计算机毕设定制辅导-无忧学长28 分钟前
《基于SpringBoot的庭院玫瑰栽培养护知识交互式科普平台设计与实现》
java·spring boot·后端·毕业设计·个性化推荐·协同过滤算法·庭院玫瑰栽培养护知识科普平台
骇客野人29 分钟前
SpringBoot数十Jar包批量生产部署落地实施方案(Shell+Systemd完整版)
spring boot·后端·jar
Json____1 小时前
从零构建家政服务平台:一套全栈架构如何打通管理端与移动端-java-springboot
java·spring boot·后端·架构·毕设·wwwoop.com
leeyi2 小时前
命令行里的平台:df_cli 都会什么(第108篇)
后端·aigc·agent
云雀衔光2 小时前
Java Spring AI MCP:在 Spring 里把 AI 接上你的业务系统
java·开发语言·人工智能·后端·测试工具·spring
重生之小比特2 小时前
【Java SE】数据类型与变量
java·开发语言·python
苏渡苇2 小时前
Spring Insight 里如何对 Span 进行清洗
java·spring boot·后端·spring·系统监控