一、创建项目与管理

创建项目和管理项目都是管理账号需要做的事情,如果只是合作开发不进行管理,只需要浏览第二部分的内容即可。

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 上

注:由于本次的文档是在本地编写的,后来图片不小心被我删除了,所以我在PDF文档中截屏的,导致图片有点模糊,希望小伙伴们不要建议。

git合作开发流程的更多相关文章

  1. git团队合作开发流程

    关于git的环境配置在以前已说过就不罗索了,这里介绍在公司如何团队一起开发项目 首先你需要把你的秘钥给管理员,如何配置以前介绍过了就不说了 进入正题:git ls-files查看当前厂库被add得所有 ...

  2. git工作流程

    git工作流程 一般工作流程如下: 克隆 Git 资源作为工作目录. 在克隆的资源上添加或修改文件. 如果其他人修改了,你可以更新资源. 在提交前查看修改. 提交修改. 在修改完成后,如果发现错误,可 ...

  3. SourceTree 实现 git flow 流程

    为什么使用 git 和 git flow,这篇文章 深入理解学习Git工作流 的内容相信能够给你一个完整的答案. 我们以使用SVN的工作流来使用git有什么不妥? git 方便的branch在哪里,团 ...

  4. 正确的git开发流程

    正确的git开发流程 第一步 在github中创建一个新的仓库,这时候项目是空的,而且只有一个master分支 第二步 第一个开发人员进来了,他在本地创建一个develop分支,并且提交到远程 git ...

  5. FastAdmin 插件的 Git 开发流程(简明)

    FastAdmin 插件的 Git 开发流程(简明) cms zip 安装 包安装 删除 addons 里的 cms 使用 mklink 软链接到 cms 插件 Git 仓库 修改 cms 插件 gi ...

  6. 漫谈Github与开源,Git介绍以及Git的思想和基本工作原理 Git工作流程

    漫谈Github与开源 文字亮点: 为什么这些优秀的工程师会开源自己的项目? 因为开源是一种精神. 无数的软件开发者苦心积虑保护自己的代码不被破解,而还是被聪明绝顶的脚本小子破解了,但破解无数软件的脚 ...

  7. git 相关流程和报错解决

    git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email XXX@XXX.com git re ...

  8. Git-Runoob:Git 工作流程

    ylbtech-Git-Runoob:Git 工作流程 1.返回顶部 1. Git 工作流程 本章节我们将为大家介绍 Git 的工作流程. 一般工作流程如下: 克隆 Git 资源作为工作目录. 在克隆 ...

  9. git 提交流程

    Git提交流程: 1. Menu remote > (拉取)fetch 2. 重新扫描(rescan) 3. 缓存改动(stage change) 4. 写注释后提交(commit) 5. Me ...

随机推荐

  1. android悬浮窗口

    悬浮窗原理 做过悬浮窗功能的人都知道, 要想显示悬浮窗, 要有一个服务运行在后台, 通过getSystemService(Context.WINDOW_SERVICE)拿到WindowManager, ...

  2. 安装nodejs版本模块报错notsup Unsupported platform for n

    使用npm install -g n报错 如果出现npm ERR! notsup Unsupported platform for n@6.7.0: wanted {"os":&q ...

  3. .NET网页后台调用前台js方法时相同Key,调用不成功

    ClientScript.RegisterStartupScript(GetType(), "key", "<script>Save()</script ...

  4. Tkinter 吐槽之二:Event 事件在子元素中共享

    背景 最近想简单粗暴的用 Python 写一个 GUI 的小程序.因为 Tkinter 是 Python 自带的 GUI 解决方案,为了部署方便,就直接选择了 Tkinter. 本来觉得 GUI 发展 ...

  5. GetModuleFileName函数的用法

    函数的功能 获取exe可执行文件的绝对路径. 用法 通过获取到exe的路径,可以获取到程序路径下(父路径或者子路径)的一些其它文件路径. 函数原型 DWORD WINAPI GetModuleFile ...

  6. 『无为则无心』Python序列 — 20、Python元组的介绍与使用

    目录 1.元组的应用场景 2.定义元组 3.元组的常见操作 @1.按下标查找数据 @2.index()方法 @3.count()方法 @4.len()方法 4.元祖中的列表元素 5.扩展:序列封包和序 ...

  7. SonarQube遇到的启动问题及解决方案

    操作系统:centos 7 (x86)一.问题描述:使用root启动时,一直反馈 SonarQube is not running问题原因:不能够使用root用户进行启动解决方案:①创建一个其他用户( ...

  8. 12-1 MySQL数据库备份(分库)

    #!/bin/bash source /etc/profile DATE="$(date +%F_%H-%M-%S)" DB_IP="172.16.1.122" ...

  9. layui动态创建Tab、Tab右键功能

      1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 & ...

  10. 利用C语言输出一个二元一次函数

    #include<stdio.h> #include<math.h> int main(void)//其实void我认为在这可有可无 {  double a,b,c,x1,x2 ...