入职难题Git多人合作开发流程
一、创建项目与管理
创建项目和管理项目都是管理账号需要做的事情,如果只是合作开发不进行管理,只需要浏览第二部分的内容即可。
1.创建项目
登录代码托管网站,点击添加项目,如下图所示:
填写相应的项目信息,如下图所示:
完成会生成项目的url,复制url后面会使用到,使用指令时需要注意每个项目的都不一样,如下图所示:
在本地创建项目文件,并创建项目说明文件“README.md”,如下图所示:
打开git执行如下命令操作
初始化git bash客户端,进入创建的项目文件夹执行如下命令(也可以想项目文件夹中右键打开,省去cd命令)
git init
把文件添加到缓冲区,并添加注释信息
git add README.md
git commit -m "first commit"
注:在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "。
推送创建的仓库,其中url是之前复制的
git remote add origin url
git push -u origin master
执行以上命令操作后,项目便创建成功了,如下图所示:
2.添加协作者
点击仓库设置,添加协作者,及协作者的操作权限,如下图所示:
这样简单的git项目就创建完成了。能访问到项目的协作者便可以开始项目的编写了。
3.合并请求管理
当有人发起合并请求时,会有相应的信息提醒,可以查看具体的请求说明,如下图所示:
查看明细后,如果觉得没问题后,点击合并请求即可完成代码的合并。如下图所示:
合并完成后,协作人员只需要拉取一下主分支的代码即更新本次更改的内容。
二、git仓库使用
1.派生主分支
登录协作者的账号即可使用相应的项目,如下图所示:
选择自己需要的项目并单击进入,此时便可以看到克隆的url,合作中不建议直接克隆主分支的项目,需要派生自己的分支,如下图所示:
派生完成后会发现项目的路径与主分支的不同,复制个人派生的url,如下图所示:
2.配置远程仓库
打开git bash 使用git clone url命令克隆分支仓库,其中url是个人派生出来的url
git clone url
添加远程仓库fork的上游主库,其中rul是主分支的url
git remote add upstream url
查看仓库的设置地址
git remote -v
能看到origin和upstream的地址,则说明配置成功,如图所示:
到此仓库配置已经完成,接下来便可以进行开发了。
2.更新本地仓库
每次编写代码时,记得同步远程仓库到本地资源库,保证本地仓库和远程仓库的代码一直性
git pull upstream master
git pull origin master
注意:其中origin是更新个人分支到本地仓库,upstream是更新主分支到本地资源库,因为个人分支的代码多数只能自己更改,一般情况下个人分支的代码和本地基本一致所以更新origin的频率会少一些。主要是主分支由于协作的人较多,代码变动很大。
3.提交代码
提交代码之前记得再次同步主分支的代码,也就是说执行以下步骤是记得使用git pull upstream master
,这样能保证在合并时避免和主分支的代码产生冲突。
添加所有更新至本地缓存
git add .
查看缓存区状态
git status
提交到说明,便于版本管理
git commit -m "提交说明"
提交到远程个人仓库(个人仓库名+分支名)
git push origin master
这样已经完成代码的提交,提交完成后还需要将自己分支的代码合并到主分支。
4.代码合并
去远程管理仓库进入到个人分支,点击创建合并请求,如下图所示:
选择需要合并到的分支以及拉去代码的位置,如下图所示:
完成后点击创建合并请求并填写合并请求的说明已经更改代码的功能,便于管理员对代码进行管理。如
下图所示:
到此个人开发的流程已经完成了,最后只需要理员同意合并请求便可以在主分支看到个人更改的代码。
三、git其他指令
1.强制拉取覆盖
强制拉取个人分支,并覆盖本地仓库,主要用于自己删除本地文件后无法通过更新下载已删除的文件时使用,当然可以回滚至上一版本。
git fetch --all
git reset --hard origin/master
git pull
2.本地指令
git config --list #查看配置信息
git init #初始化仓库
git add 1.txt #添加文件至缓存
git add . #添加所有文件至缓存
git rm 1.txt #删除文件
git status #查看仓库状态
git commit –m "test" #提交说明
git rm 1.txt #删除文件
git commit -m “test” #删除相应的提交
git diff a.txt #查看a.txt文件更改的内容
git log #查看提交记录
git reset --hard HEAD^ #回滚上一个版本
git reset --hard HEAD~n #回滚n个版本
git xxx --help #查看指令帮助
3.本地仓库上传至远程仓库
git pull origin master #拉取远程主分支
git pull --rebase origin master #拉取本地分支
git push -u origin master #提交代码至个人分支
git push -u -f origin master #强制上传代码至个人分支
4.远程仓库指令
git clone url #克隆仓库
git remote add #添加/关联一个远程仓库,默认名是origin
git remote remove origin #删除远程库的 origin 别名
git remote add upstream url #添加一个将被同步给fork远程的上游仓库
git fetch upstream #从上游仓库fetch分支和提交点,传送到本地,并会被存储在一个本地分支 upstream/master
git remote #查看远程库的别名
git remote –v #查看远程库的别名和仓库地址
git push origin master #把本地 master 分支推送到别名为 origin 的远程库
git branch #查看当前所有的分支,默认只有master 分支
git branch test #创建 test 分支
git branch –d test #删除 test 分支
git checkout test #从当前分支切换到 test 分支
git checkout –b dev #创建 dev 分支,并切换到 dev 分支上
git merge dev #在当前分支上合并 dev 分支
git merge upstream/master #把 upstream/master 分支合并到本地 master 上
git merge upstream/dev #把 upstream/dev 分支合并到本地 dev 上
入职难题Git多人合作开发流程相关推荐
- git 多人合作开发几个简单的步骤
git多人合作 作为项目的参与者,连接仓库以及拉取推送代码.git还有很多神指令,骚操作可以探索和学习,但是作为小白想先加入git多人合作开发,可以试试下面这些简单的操作. 1.连接远程仓库(两个方式 ...
- 初次入职,git使用教程:如何在idea使用git拉取代码,提交代码,以及在gitlab上发起合并请求
git的使用相信是很多刚踏入程序员这一行朋友的痛点,刚入职的一段时间非常担心git用错,把别人的代码覆盖掉,下面我详细介绍一下如何在idea上使用git,拉取,提交代码,处理冲突,以及发起合并请求. ...
- 入职两年的人写给刚入职的人
首先需要说明的是: 1.我不是倚老卖老,因为我还不老,我才真正在软件公司入职2年,而且工资也不高. 2.我主要是写给刚入职的那些"新兵蛋子的",但是也仅仅作为参考,因为这只是我自己 ...
- 新入职员工Git配置方法
现在公司使用gitLab的越来越多了,刚进公司一般都会进行各种配置,这东西平时不怎么用,记录下预防下次浪费时间,这个不需要记,没有用途...(切记) Git的常用配置: 1.公司管理人员开通GitLa ...
- git多人合作开发同一个分支
对同一个分支,可能有多个人在开发,在你down下代码并修改完提交的这段时间里,可能你的同事已经做了新的提交,那么此时应该如何提交呢? 首先保存本地修改 git commit 或者直接push 到git ...
- 今天入职,了解了公司软件测试流程
一.测试主要的四个阶段 1.测试计划设计阶段:产品立项之后,进行需求分析,需求评审,业务需求评级,绘制业务流程图.确定测试负责人,开始制定测试计划: 2.测试准备阶段:各成员编写测试用例.先小组内评审 ...
- 27位名校博士选择入职中学?!顶尖人才浪费了吗?
点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 本文转载自:募格学术 | 来源:中国青年报.南方+客户端 顶尖高校毕业的博士.博士后到中学教书 ...
- 入职总结以及大学生活回顾反省
写在开始的话引用某位博友的话 "毕业了,欢呼刺激过后,等待着的,是漫长的昏暗,看不到尽头-- 谁说上了大学就是天堂,谁说毕业后前途充满了光明,真正的路,却为何如此不明朗? 在一个物竞天择,强 ...
- 苏宁小BIU诞生日 机器人员工正式“入职”
来源:ATYUN AI平台 从微软小冰在社交媒体上讲段子开始,人工智能已经不新鲜了,各家公司都在积极开发自己的人工智能.然而令人惊奇的是,今日苏宁的人工智能小BIU,走在了twitter.facebo ...
最新文章
- 【OpenCV3】级联分类器训练——traincascade快速使用详解
- final,finally,finaliz的区别(Java)
- 几种测量app启动时间的方式
- GIS之旅——大学本科总结
- ios中怎么样调节占位文字与字体大小在同一高度
- 数据库面试题(答案)
- 2022-2028年中国电子政务行业投资策略探讨及市场规模预测报告
- MT4 CRM 源码
- linux用光盘安装系统时需要如何设置,Linux如何设置光盘启动
- 计算机外文文献ssh,计算机外文文献及翻译(SSH).doc
- 7-33 电话聊天狂人 (25 分)(map水题)
- 第6节 构建简单局域网并实现远程管理路由器与交换机——基于PacketTracer仿真
- 如何修改PPT文档的编辑版式
- 硕士毕业论文的致谢怎么写
- 给AI新手推荐的十篇最佳数据科学文章
- 解决windows10桌面输入法不见问题
- 到底买苹果XS还是XR_没有5G的苹果到底还值不值得买
- 50天用JavaScript完成50个web项目,我学到了什么?
- eBPF/XDP实现Conntrack功能
- FNDLOAD命令整合
热门文章
- 飞行堡垒安装Linux黑屏,华硕飞行堡垒_安装kali后N卡问题
- unity学习开发小球吃方块小游戏(从制作到发布程序,超详细全教程包你学会)
- BUCK电路输出电容计算
- 自己用过的好用的C++第三方库汇总
- zookeeper 学习笔记 (C语言版本)
- 光纤激光器能用到的专业英语名词
- PAT 乙级 1069 微博转发抽奖 (20 分)
- 第15章-Spring AOP切点表达式(Pointcut)详解
- 数据缺失值的处理方法
- rpm package.http://rpmfind.net/