当前位置:   article > 正文

gitee创建项目到多人协作_gitee多人协作

gitee多人协作

目录

一,创建git项目

二,创建dev分支

三,合并分支

四,多人协作


由于忍受不了GitHub访问速度 ,还是更喜欢国内的gitee,页面加载是真的很流畅

gitee:Gitee - 基于 Git 的代码托管和研发协作平台

一,创建git项目

在gitee官网新建仓库

比如现在我是userA,并在本地建了一个项目,该项目现在只有一个文件夹名为userA

在当前文件夹里右键点击“git bash here”

这时候刷新gitee官网,可见本地项目已成功推送到远程

二,创建dev分支

然后现在在本地添加dev.txt文件

在命令行从master分支上新建并切换到dev分支,然后add,remote,再将当前dev分支推送到远程dev分支,并将它们关联起来

(注意:git push origin dev -u 这行命令,由于是第一次推送到远程dev分支,所以加上-u让本地和远程的dev分支关联起来,否则后面在推送时会提示未关联远程项目,造成不必要的麻烦。这次加上-u关联起来后,后面就不用加-u 了,直接使用git push origin dev推送就行)

这时候远程刷新,可以看到多了一个dev分支,就是刚刚我们推送过来的

查看dev分支,会看到dev分支上有test.txt和dev.txt文件

而查看master分支,会发现只有test.txt,而没有dev.txt文件。为什么?因为我们还没有将dev分支的内容合并到master分支上

三,合并分支

接下来我们将dev分支合并到master分支上。

先切换到master分支,再使用git merge dev命令合并dev分支,合并后,本地的master分支上就有了dev.txt的内容了,也就是有了dev.txt了,此时再将合并后的本地master分支推送到远程,这样远程master分支就会也有dev.txt文件了

刷新远程,可以看到master分支确实有了dev.txt分支了!

这样就完成了一个最基本的过程了。

而在实际项目开发中,通常开发不是单打独斗,而是要多人协作,因此,我们有必要模拟一下多人开发的场景

四,多人协作

接下来程序员B,即userB上场了

userB准备在userA的基础上进行开发,于是userB也在本地建了一个文件夹命名为userB

然后复制了远程的项目

首先userB文件夹是空文件夹。克隆项目后,userB文件夹中就出现了test文件夹

进入到test文件夹(此时test文件夹中是空的,还没有任何内容)

于是要将远程的dev分支拉过来,使用命令:git checkout -b dev origin/dev

可以看到test文件夹中就有了dev.txt 和test.txt文件了

然后userB添加了新的文件,为userB.txt,并将其推送到远程的dev分支上

那么接下来,让人最难受的地方就来了

由于在userB修改test文件夹内容的时候,userA同样也在修改test文件夹内容

userA在test文件夹中添加了userA.txt,同样,他也准备把userA.txt推送到远程dev分支上

此时他使用git push origin dev命令进行推送,却发现推送失败!

为什么?因为在他之前,userB已经编辑了test文件夹并推送到了远程dev分支上,所以起了冲突!

如何解决呢?

这时候的思路就是:将远程最新的dev分支,也就是userB推送后的dev分支内容拉取到本地,然后在本地解决起冲突的部分内容,该合并的合并,该删的删,解决后,再推送到远程dev就可以了

命令行中执行拉取命令:git pull ,执行后会出现以下界面

这里就是说为什么要合并这个内容,让写一个注释,不写也没关系,直接输入:wq,按回车就行了

这里就打开test文件夹,查看并编辑到底是哪里的内容出了冲突

冲突解决好后,就可以重新推送到远程dev分支了

不过,在这里push推送之前,一定需要记得再重新添加(git add .)内容和提交(git commit -m 'xx')一下

刷新远程dev分支,就可以看到解决冲突后的内容啦

对于每一个git项目,我都习惯依次建立三个分支:master=>dev=>feature

  1. git init
  2. git add .
  3. git commit -m 'first commit'
  4. git remote add origin git@gitee.com:LiDaJiang/xxx.git
  5. git push -u origin master
  6. git checkout -b dev
  7. git push -u dev
  8. git checkout -b feature

这样就切换到了master/dev/feature分支上了,保证了master分支的安全性。

如果feature分支的项目崩了,就可以按照如下方式补救:

  1. git add .
  2. git commit -m 'xxx'     (这里一定要有commit操作!!总之就是在切换分支之前一定要commit一下,否则会出现莫名其妙的一些问题!)
  3. git checkout dev     (切换回dev分支)
  4. git branch -D feature    (这里要使用大写的D 来强制删除崩溃的feature分支)
  5. git checkout -b feature   (重新根据dev分支生成新的feature分支)

如果觉得feature分支没有问题了,想要提交到dev分支,如下:

  1. git add .
  2. git commit -m '提交到dev分支'
  3. git checkout dev
  4. git merge feature   (把feature分支合并到dev分支)
  5. git checkout feature   (切换到feature分支上,又可以开开心心地在feature上继续开发了)

这里是github的入门:Git的下载安装以及基本操作_asdfsdgfsdgfa的博客-CSDN博客_git如何安装

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/998502
推荐阅读
相关标签
  

闽ICP备14008679号