协同开发

第一步:你到公司(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. Linux日志 查找关键字及其前后的信息

      文章<五分钟扫盲:25个工作中常用的Linux命令>介绍了常用的Linux命令,属于理论知识,这里知行合一,介绍如何从Linux日志中通过关键字过滤出我们需要的信息.   这里以查看名 ...

  2. java list<对象>根据某个字段分组

    前言 仅供学习参考,不保证性能问题 其中的实体类改成你自己的实体类 代码 /** * 根据某个字段进行分组,分组后遍历方法 * <p> * Map<String, List<M ...

  3. 【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第三周作业

    [中文][吴恩达课后编程作业]Course 2 - 改善深层神经网络 - 第三周作业 - TensorFlow入门 上一篇:[课程2 - 第三周测验]※※※※※ [回到目录]※※※※※下一篇:[课程3 ...

  4. ceph部署mimic版本集群

    一.简单说明 ceph mimic版本在对MDS的稳定性等方面做了大量的改进和优化,这里我们k8s集群使用ceph时需要使用cephfs,因此对MDS的稳定性方面有很高的要求,因此,我们选择ceph ...

  5. 纯C#软实现openGL(V0.1),黑盒变白盒

    纯C#软实现openGL(V0.1),黑盒变白盒 为了彻底掌握openGL,做一个openGL的软实现(命名为SoftGLImpl)是必要的.(而非仅仅调用opengl32.dll) openGL A ...

  6. DotTrace系列:5. 诊断程序的 慢File 和 慢SQL

    一:背景 1. 讲故事 上一篇跟大家聊到了 UI Freeze 的问题,让大家感受到了时间轴的强大和美观,这个是 perfview 所不具备的,本篇跟大家聊一下用 dottrace 诊断Windows ...

  7. MySQL 03 事务隔离:为什么你改了我还看不见?

    事务就是要保证一组数据库操作,要么全部成功,要么全部失败.在MySQL中,事务支持是在引擎层实现的,这也是InnoDB取代MyISAM的重要原因之一. 隔离性与隔离级别 事务的四大特性:原子性.一致性 ...

  8. 如何彻底关闭Antimalware Service Executable

    如何彻底关闭Antimalware Service Executable? - Microsoft Community ------------------------------------< ...

  9. C# 23种设计模式汇总(更新完毕) john大叔

    https://www.cnblogs.com/johntom/archive/2012/04/06/2435273.html C# 23种设计模式  创建型模式工厂方法(Factory Method ...

  10. VBA使用Outlook自动发送邮件

    ↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓ 基础版本–能自动发送就是成功 利用VBA使用Outlook自动发送邮件,代码及注释如下: Sub send_mail() Dim ...