git使用小结以及如何在github上进行团队协作

这学期使用github提交了很多次作业,对于git以及github的使用算是比较熟悉了,所以在这里记录并分享一下使用git在github进行操作的一些基本指令,以及图文结合的说明一下如何在github上使用organization进行团队合作。

git 基础操作

常用指令

git 有很多不同指令,被称为基础操作的也有很多,但实际上最常用的只有五个。

  • 第一步,从GitHub上下载项目代码

    git clone </path/to/repository>
  • 第二步,将工作区的代码提交到暂存区
    在本地项目所处的位置右键打开git bash
    输入下面的指令,将工作区的代码提交到暂存区

    git add <filename>	#只将目标文件添加到暂存区
    git add . 		#将全部修改添加到暂存区
  • 第三步,将暂存区的代码提交到仓库区

    git commit -m "修改信息"
  • 第四步,将仓库区的内容提交到远程仓库上

    git push origin <branch>
  • 更新本地代码

    git pull

    这个指令的意思是在当前的工作目录中(我们后面还可能建分支)获取并合并远端的改动。有时候我们不是完全在本地进行操作,而是在远端的github上也进行了一定的修改,比如增加了一个README文件。此时我们的本地文件因为和远程仓库的版本不匹配,所以直接执行第四步push会有报错(版本过期),所以这时候我们需要首先拉取远程的最新项目,然后再修改提交本地文件。

分支相关指令

分支是用来将特性开发绝缘开来的。在我们创建仓库的时候,master是默认的分支,使用git bash的时候可以看到后面跟着(master)标识,当我们转换分支时该标识会变成当前分支的名称。一般来说自己独立开发项目时只用master就足够了,分支主要是用于多人协作开发时的项目管理。

  • 创建分支
    进入项目根目录下后,执行下面的指令新建一个分支(复制当前分支,默认为master),括号内是新分支的名字。

    git checkout -b <branch>
  • 合并分支
    这条指令会合并其他分支到当前分支

     git merge <branch>
  • 将分支推送到远程仓库
    该指令和修改本地代码后推送到远程仓库是一样的,是将新建的分支内容更新到github上面。除非我们将分支成功推送到远程仓库端,否则该仓库不被团队中他人可见。

    git push origin <branch>
  • 拉取master分支内容到本地

    git pull
  • 切换分支

    git checkout <branch>
  • 删掉分支

    git branch -d <branch>
其他指令
  • 在本地新建一个空仓库
    首先创建一个文件夹作为本地的仓库,然后进入文件夹,执行下面的指令即可

    git init
  • 将本地仓库连接到某个远程服务器

    git remote add origin <server>
  • 查看仓库状态
    该指令意义为检索本地仓库的文件更新状态,显示的内容包括:

    • 已修改的,未暂存的文件名称
    • 已暂存,为提交的文件名称
    • 未追踪到的文件
    git push origin <branch>
  • 查看变更日志
    该指令可以让我们查看提交的 commit history

    git log

github 进行多人协作

之前使用github时我大部分时间都是将他作为仓库或者提交作业的平台来用的,但是实际上github的一个非常重要的特点就是可以团队协作。本学期的服务计算课程中也有一次在github上团队合作完成的作业,但是我们几个对于github上的团队合作操作都不是很熟悉,乱建分支,提交代码的时候全都合并到master上,最后都不清楚项目究竟改到了第几版。因此我在这里分享一下github上团队合作的流程。

  • 第一步,发起者在github上建立一个组织 organization
    发起者首先登录自己的账号,点击右上角的“+”号,然后选择 “New organization”
    在这里插入图片描述

  • 第二步,按照提示的流程完善新创建的组织的信息
    成功后网页会自动跳转到已创建的组织,如下图
    在这里插入图片描述

  • 第三步,添加团队成员
    进入组织,点击下图中黄框圈起来的 “People” ,然后跳转到“invite member"页面
    在这里插入图片描述
    点击页面右上角的”invite member"
    在这里插入图片描述
    现在可以根据被邀请人的名称或者是电子邮箱来查询并邀请
    在这里插入图片描述
    之后被邀请者会收到一封邮件,在邮箱中同意即可加入组织啦
    在这里插入图片描述

  • 第四步,在组织中建立新的项目仓库
    首先组织开发者要回到之前的“Repositories”页面,点击页面中部的新建仓库选项
    在这里插入图片描述
    按照一般的流程完善这个新仓库的信息
    在这里插入图片描述

  • 第五步,添加团队并设置开发权限
    选中建好的仓库并进入,选择页面上方的"settings"进入设置栏
    在这里插入图片描述
    选中图中右侧的”collaborators&teams",进入合作者页面
    在这里插入图片描述
    选中“add a team"添加团队(没有的话要先选择create a team进行创建)
    在这里插入图片描述
    可以看到此时我们已经成功的加入了新建的test团队,此时默认的团队权限为read,可以根据需要进行修改
    在这里插入图片描述

  • 第六步,创建开发分支
    回到仓库的code页面,点击branch按钮,新建开发分支”dev"。如果多人合作的话,可以给团队中的每个人都新建一个开发分支,这样会便于管理
    在这里插入图片描述

  • 第七步,在分支开发后合并新修改内容
    当我们在分支完成开发后,可以通过github的pull request方式将分支上的内容合并到master。当然,第一步是要将本地的文件提交到github上属于我们的开发分支
    比如我现在在开发分支上新建了一个update.md文件
    在这里插入图片描述
    下一步我想将修改保存在master上,于是点击页面上的new pull request,然后可以看到如下的页面
    在这里插入图片描述
    将页面向下拉,可以看到我们本次pull request 的修改内容
    在这里插入图片描述
    点击图中的“merge pull request" --> “confirm”,完成pull request操作
    在这里插入图片描述

三种合并方式及特点

在pull request的时候我们可以看到图中有三种pull request的方式(如下图),下面就来讲一讲他们都有什么不同的作用

  • 第一种,Create a merge commit.
    这种是最完整的合并方式,以这种方式合并时不仅会保留所有的提交版本,还保留了所有的修改轨迹

  • 第二种,Squash and merge
    如图所示,这种方式是最不完整的合并方式,既不保留历史版本,也不保留修改轨迹

  • 第三种,Rebase and merge
    这种方式是前两者的中间值,它保留了提交版本,却不保留各版本的修改轨迹

一般来说我们会默认选择第一种合并,但是很明显,第一种合并方式会浪费较多的空间来储存我们的修改信息。所以当我们想要更简洁地更新我们的仓库、没有存储历史版本的需求、比如只是修改错别字、病句等不关键改动时,我们就可以选择第二种或第三种方式。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
GitHub团队协作是指多个开发人员在同一个项目上共同工作,通过版本控制系统(如Git)来管理代码的修改和合并。在GitHub上,团队协作可以通过以下几种方式实现: 1. 分支管理:每个开发人员可以在项目中创建自己的分支,进行独立的开发工作。这样可以避免直接修改主分支(通常是master或main分支)而引发冲突。开发人员可以在自己的分支上进行开发、测试和提交代码,然后通过Pull Request(PR)将自己的修改合并到主分支中。其他团队成员可以对PR进行审核和讨论,确保代码质量和功能完整性。 2. 同步更新:在团队协作中,为了避免冲突,开发人员在提交自己的代码之前,应先将本地仓库与远程仓库保持同步。可以使用git fetch命令从远程仓库获取最新的代码,然后使用git merge命令将远程分支合并到本地分支。这样可以确保在提交代码之前,本地仓库是最新的版本。 3. 代码审核:团队协作中,代码审核是非常重要的环节。通过代码审核,团队成员可以相互检查代码的质量、风格和功能实现。GitHub提供了Pull Request功能,可以方便地进行代码审核和讨论。团队成员可以在PR中进行评论、提出修改建议,并最终决定是否将代码合并到主分支中。 总结起来,GitHub团队协作通过分支管理、同步更新和代码审核等方式,实现多人在同一个项目上协同开发和合并代码的过程。这样可以提高团队的工作效率,确保代码的质量和稳定性。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *3* [超详细!Github团队协作教程(Gitkraken版)](https://blog.csdn.net/weixin_30491641/article/details/96532012)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Git基础(11):Github团队协作](https://blog.csdn.net/u011628753/article/details/124240328)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值