协同开发

第一步:你到公司(gitee,gitlab),注册账号
第二步:把你的公钥配置在你的gitee,gitlab账号上
第三步:把你的邮箱发给项目的管理者(你老大)
第四步:他把你账号添加为开发者---》你就可以读写项目了
第五步:你要把公司项目拉到本地
-方式一:直接下载zip
-方式二:在命令行中执行
git clone git@gitee.com:liuqingzheng/luffyapi.git
第六步:改代码,提交 (ssh,https提交)
git add .
git commit -m '注释'
在提交之前一定要拉一下代码
git pull origin master # 可能会有冲突
git push origin master

冲突出现的原因

1.分支合并
2.多人在同一分支开发

冲突解决

'''多人在同一分支开发出现冲突'''

print('lqz')
<<<<<<< HEAD
=======
print('sss')
>>>>>>> 732f1921741fa4d6153d1c4b7eb0302a509838d9 '''先把冲突的地方删除,剩下的代码分析,需要留哪些,到底是留我的代码,还是留同事的代码(删同事的,跟同事说一声),如果删自己的,不用说''' 然后进行:
git add .
git commit -m ''
git push origin master

分支合并出现冲突

git branch dev  创建分支dev
git branch bug 创建分支bug
git checkout bug 切换分支 '''修改代码(dev分支)'''
git add .
git commit -m '注释'
'''切换回主'''
git checkout master
'''合并(现在没有问题,合并成)'''
git merge dev
'''切到bug分支'''
git checkout bug
'''改同一行代码'''
git add .
git commit -m '注释'
'''切换回主'''
git checkout master
'''合并(现在有冲突)--->解决冲突 看具体是改错了 还是改重复了 留下有用的'''
git merge bug
git add .
git commit -m '注释'

线上合并分支

1)远程建立分支:gitee上点击操作

2)把远程分支拉到本地

git pull origin bug # 已经拉下来了,但是还看不到,需要切换过去

git checkout bug   # 来到了本地dev分支

3)本地bug分支增加代码

4)本地bug提交到远端

5)远程分支合并:把dev合并到master

你提交pull request 的申请(pr,mr)---》跟你没关系了--->[合进去了,没有合进去]

你领导就能看到这个pr,审核通过,点合并

到此 dev分支就合并进master分支了

补充:命令git stash


有时,当你在项目的一部分上已经工作一段时间后,所有东西都进入了混乱的状态, 而这时你想要切换到另一个分支做一点别的事情。 问题是,你不想仅仅因为过会儿回到这一点而为做了一半的工作创建一次提交。 针对这个问题的答案是 git stash 命令。 贮藏(stash)会处理工作目录的脏的状态——即跟踪文件的修改与暂存的改动——然后将未完成的修改保存到一个栈上, 而你可以在任何时候重新应用这些改动(甚至在不同的分支上)。From Git Book。 以前未接触到stash时的做法是使用git add和git commit 来暂存,这样做的弊端是会出现很多多余的commit记录。

合并之后的效果

pycharm操作git

clone

git add

git commit

git push

git pull

git branch操作

查看git操作记录 git log

本地代码跟版本库比较

git面试题

你们公司分支方案是什么样的?

master,dev,bug 三条分支:

	master主要用来发布版本,写好了某个版本的代码合并进去,不直接在master上开发

	dev:开发分支,项目的开发者,都在dev分支上开发

	bug:bug分支,用来修改bug,发布小版本

使用git开发,遇到过冲突吗?

遇到过

多人在dev分支开发,出现的冲突

分支合并出现的冲突

把代码拉下来,直接解决冲突,保留我的代码,保留同事的代码

你知道git 变基?

分支合并:dev分支合并到master分支

merge或rebase合并

把多次提交合并成一个

git pull 与 git fetch

pull 和 fetch都是拉取代码

fetch:拉下来后先不合并由你决定后再看是合不合并,网络上大家都说fetch更安全

pull = fetch+合并

你知道git flow吗?

git 工作流,它是一个别人提出的分支方案

我们没有用,我们用的就是master+dev+bug分支方案

使用git 的操作流程

如果是普通开发者:git clone下来

写代码,git add ., git commit, git pull, git push

什么是gitee,github:pr,gitlab:mr?

不同叫法:提交分支合并的请求

协同开发、冲突的出现与解决、分支合并出现冲突、线上合并分支、pycharm操作git、git面试题的更多相关文章

  1. github本地分支合并到线上主分支

    如果是在本地index-swiper分支上,已经写好了那么: 1,git add .             //提交到本地缓冲区 2,git commit -m "project init ...

  2. 「日常开发」记一次因使用Date引起的线上BUG处理

    生活中,我们需要掌控自己的时间,减少加班,提高效率:日常开发中,我们需要操作时间API,保证效率.安全.稳定.现在都2020年了,了解如何在JDK8及以后的版本中更好地操控时间就很有必要,尤其是一次线 ...

  3. vue项目开发期间,配置webpack解决后台接口在不同服务器上的问题 之 二 ( node搭建服务 )

    由于今天上午 后端人员把接口都整合都一个服务器了,所以就没有硬关注 上一篇文章的问题, 晚上回来,用node搭了一个简单服务器,测试了下,是没有问题的.代码如下: 一. 自己初始化项目, 1.pack ...

  4. Visual Studio C# 利用git和github协同开发时产生冲突的解决办

    Visual Studio C# 利用git和Github协同开发时产生冲突的解决办法 前言:在前两天的助教作业中,发现了自己没有办法解决在用vs开发C#的窗体项目的过程中产生的冲突问题,在查阅了资料 ...

  5. Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

    远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...

  6. git命令与协同开发

    一 git命令 1.简单命令 git init # 初始化 (建立git 版本相关文件关系都放这里) git config --global user.email "you@example. ...

  7. GitHub的多人协同开发配置

    GitHub For Windows 下载地址:https://windows.github.com/ 基本的注册登录就不细讲了. 在源代码管理上,最重要的就是仓库了.仓库这一概念很容易理解,所谓仓库 ...

  8. git 因线上分支名重复导致无法拉取代码

    有时 git pull 或 git fetch 时发现 git 报了个异常,说法像是无法将线上某个分支与本地分支合并,由于分支是...(很长的hash)但是分支却是...(很长的hash) 仔细查查后 ...

  9. 从GitLab上创建分支本地拉取项目和提交项目详解

    很多公司前端项目都是部署在GitLab上的,今天我要分享的就是如何从GitLab上创建新的分支并在本地拉取和提交项目 一.在GitLab上面创建自己新的分支 首先你得注册一个账号,登陆之后进入项目Pr ...

  10. 前端使用Git 切换分支 查看线上远程,本地切换

    想要使用Git切换线上分支时先 得先查看线上分支 git branch -a //查看线上分支 git branch //查看本地分支 这是线上的分支图(当前是master) 知道有那些分支就可以进行 ...

随机推荐

  1. 简单说说C#中委托的使用-01

    简单说说C#中委托的使用-01 前言 距离上次更新文章,已经过去...月了. 没更新文章的主要原因,主要是因为参加工作后,感觉思维没有上学那会活跃,写文章没有思绪.再就是上班的时候把精力用光了,下班后 ...

  2. Prompt 攻击与防范:大语言模型安全的新挑战

    随着大语言模型(LLM)在企业服务.智能助手.搜索增强等领域的广泛应用,围绕其"Prompt"机制的安全问题也逐渐引起关注.其中最具代表性的,就是所谓的 Prompt Inject ...

  3. synchronized 锁是可重入锁吗?如何验证?

    摘要:举例证明 synchronized锁 是可重入锁,并描述可重入锁的实现原理. 综述   先给大家一个结论:synchronized锁 是可重入锁!   关于什么是可重入锁,通俗来说,当线程请求一 ...

  4. ActiveMQ的安装与部署

       ActiveMQ是Apache的一个开源项目,它是一个功能强劲的开源消息总线,也是一个中间件产品,它是JMS的一个实现.   在介绍ActiveMQ之前,先来复习一下J2EE中的JMS规范.JM ...

  5. IntelliJ IDEA 中,项目文件右键菜单没有svn选项解决办法

    问题描述 欲在IntelliJ IDEA中提交文件至SVN,但是在项目文件上点击右键时,发现右键菜单中没有Subversion的选项,正常情况下是要有的,如下图所示: 图0 解决办法 点击菜单:VCS ...

  6. SmolVLA: 让机器人更懂 “看听说做” 的轻量化解决方案

    TL;DR 今天,我们介绍了 SmolVLA,这是一个轻量级 (450M 参数) 的开源视觉 - 语言 - 动作 (VLA) 模型,专为机器人领域设计,并且可以在消费级硬件上运行. 仅使用开源社区共享 ...

  7. C++面试题:虚函数表(vtable)的底层实现机制与应用解析

    一.问题描述 ​请描述C++虚函数表的实现原理,并解释以下问题​: 虚函数表在内存中的存储位置及布局结构 多继承场景下虚函数表的组织形式 虚函数调用时的动态绑定过程 虚析构函数与虚函数表的关系 二.核 ...

  8. java多线程压力测试接口

    1.定义一个controller,里面写个测试方法,用于postman测试 1 @GetMapping("/toTestThread") 2 public void demosen ...

  9. 详解HarmonyOS NEXT系统中ArkTS和仓颉的混合开发

    连续分享了很多天鸿蒙仓颉语言的开发教程,大家现在应该都知道鸿蒙开发有ArkTs和仓颉两种开发语言,这两种语言有些相似,而且还支持混合开发,今天就分享一下怎么实现ArkTs和仓颉的混合开发,分不清这两种 ...

  10. 你应该懂的AI大模型(一) 之 浅知大模型

    1.AI 大模型的训练过程 AI 大模型的训练就如同让一名孩童从不会说话一步步培养成高级知识分子或者专家的过程. 第一步:收集数据,将海量的知识与文章收集起来作为学习资料教给这个孩子: 第二步:预处理 ...