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的目的是让查看历史提交的变化看起来更简单

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


感谢阅读,祝君暴富!

相关推荐
间彧几秒前
Java大厂面试:携程三轮面试
后端
幌才_loong7 分钟前
.NET8 Middleware 核心原理与实战指南
后端
程序员飞哥8 分钟前
这样做的幂等也太全了吧
java·后端·spring
虫小宝11 分钟前
返利软件架构设计:多平台适配的抽象工厂模式实践
java·开发语言·抽象工厂模式
百度Geek说14 分钟前
百度一站式全业务智能结算中台
后端
一线大码14 分钟前
安全保护协议 SSL 和 TLS 的区别
后端·http
小兔崽子去哪了20 分钟前
机器学习 线性回归
后端·python·机器学习
小七不懂前端23 分钟前
我用 NestJS + Vue3 + Prisma + PostgreSQL 打造了一个企业级 sass 多租户平台
前端·vue.js·后端
用户83562907805124 分钟前
Python 操作 Excel:从基础公式到动态函数生成
后端·python