热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GitGitHub多人协作

在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备:

在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出

一.前期准备:创建SSH Key连接GitHub

这里就直接看廖老师的教程吧,链接如下
https://www.liaoxuefeng.com/w…
一定要先做完这一步!

二.创建项目

步骤1:GitHub上创建项目

这里有两种情况:
第一种是直接在GitHub上创建空项目,创建者再从GitHub上克隆项目下来,再进行项目
第二种是创建者的项目文件夹已安装Git,连接GitHub后上传项目
这里我们讲第一种,因为反正创建空项目后把项目copy进去是一样的~

首先进入GitHub首页,点击Start project,出现这个页面
《Git GitHub多人协作》

输入Repository name,Description并且勾上Initialize this repository with a README后点击创建,之后就进入项目页面了

《Git GitHub多人协作》

步骤2 从GitHub上克隆项目,创建并上传参与者分支

Git命令行进入想要创建项目的目录后,输入
git clone git@github.com:Joeoeoe/test.git或者到clone or done选项中直接获取对应地址

git clone 地址

(这里用户名和项目名字记得改)

接下来进入test目录创建分支,我们创建两个分支,一个叫Mike,一个叫Bob,输入以下两个命令
git branch Mike
git branch Bob
然后直接输入git branch 你会看见所有的分支
《Git GitHub多人协作》

接着把所有分支推送到GitHub上(origin是远程仓库的默认名字)
git push origin Mike
git push origin Bob
完成后就是这样子,
《Git GitHub多人协作》

打开GitHub上的项目页,你会发现分支多了出来
《Git GitHub多人协作》

步骤3:邀请参与者

《Git GitHub多人协作》

setting下输入username,把链接发送给小伙伴同意后就邀请成功,项目创建也就完成

三.参与项目

接下来就是小伙伴参与项目了

步骤1:从GitHub上克隆项目,创建分支到本地

同样输入命令
git clone git@github.com:Joeoeoe/test.git

输入给git branch后你会发现并没有所有的分支,所以要创建远程仓库的分支到本地
比如我是Bob,输入命令
git checkout -b Bob origin/Bob
这样就可以在自己的分支上进行项目了

步骤2:参与修改项目

举个实践的例子,在test目录下创建一个文本吧,随便写什么,我弄了Hello.txt
接下来跟正常步骤一样,提交分支
git add Hello.txt
git commit -m"提交Hello.txt"

然后把分支合并到master上(开发中一般是dev作为开发线,master作为主版本,这里就简化吧)
git checkout master
git merge --no-ff -m"写合并分支的commit" Bob
以上步骤先切换到master,再把Bob分支合并到master,并且不删除Bob分支

接下来推送master到远程仓库(当然也可以把自己的分支推送上去)
git push origin master
git push origin Bob
会有如下显示
《Git GitHub多人协作》

打开GitHub项目页,会发现上传成功
《Git GitHub多人协作》

步骤3:有冲突怎么办

多人协作时不可避免会出现冲突的,冲突的主要原因是同一个文件的修改,具体看廖老师的git教程吧,非常详细
多人协作:https://www.liaoxuefeng.com/w…
解决冲突:https://www.liaoxuefeng.com/w…


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 本文将详细介绍如何在没有显示器的情况下,使用Raspberry Pi Imager为树莓派4B安装操作系统,并进行基本配置,包括设置SSH、WiFi连接以及更新软件源。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了Java中org.eclipse.ui.forms.widgets.ExpandableComposite类的addExpansionListener()方法,并提供了多个实际代码示例,帮助开发者更好地理解和使用该方法。这些示例来源于多个知名开源项目,具有很高的参考价值。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 本文详细介绍了如何构建一个高效的UI管理系统,集中处理UI页面的打开、关闭、层级管理和页面跳转等问题。通过UIManager统一管理外部切换逻辑,实现功能逻辑分散化和代码复用,支持多人协作开发。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • Git管理工具SourceTree安装与使用指南
    本文详细介绍了Git管理工具SourceTree的安装、配置及团队协作方案,旨在帮助开发者更高效地进行版本控制和项目管理。 ... [详细]
  • 本文详细介绍如何在Linux系统中配置SSH密钥对,以实现从一台主机到另一台主机的无密码登录。内容涵盖密钥对生成、公钥分发及权限设置等关键步骤。 ... [详细]
  • 对象自省自省在计算机编程领域里,是指在运行时判断一个对象的类型和能力。dir能够返回一个列表,列举了一个对象所拥有的属性和方法。my_list[ ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
author-avatar
石头1988030450
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有