Git 基础使用--权限管理--用户和用户组授权

server/2024/10/21 19:40:55/

😀前言
本篇博文是关于Git 基础使用–权限管理–用户和用户组授权,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

    • Git语术
    • 如何创建项目仓库
      • 工作目录
      • 项目仓库
        • 创建全新仓库
        • 克隆远程仓库
    • 如何给用户和用户组授权
      • Git 权限管理
        • Git用户在组中有五种权限

Git语术

1)、仓库(Repository)
受版本控制的所有文件修订历史的共享数据库

2)、工作空间(Workspace)
本地硬盘或Unix 用户帐户上编辑的文件副本

3)、工作树/区(Working tree)
工作区中包含了仓库的工作文件。您可以修改的内容和提交更改作为新的提交到仓库。

4)、暂存区(Staging area)
暂存区是工作区用来提交更改(commit)前可以暂存工作区的变化。

image-20240828105334204

5)、索引(Index)
索引是暂存区的另一种术语。

6)、签入(Checkin)
将新版本复制回仓库

7)、签出(Checkout)
从仓库中将文件的最新修订版本复制到工作空间

8)、提交(Commit)
对各自文件的工作副本做了更改,并将这些更改提交到仓库

9)、冲突(Conflict)
多人对同一文件的工作副本进行更改,并将这些更改提交到仓库

10)、合并(Merge)
将某分支上的更改联接到此主干或同为主干的另一个分支

11)、分支(Branch)
从主线上分离开的副本,默认分支叫master

12)、锁(Lock)
获得修改文件的专有权限。

13)、头(HEAD)
头是一个象征性的参考,最常用以指向当前选择的分支。

14)、修订(Revision)
表示代码的一个版本状态。Git通过用SHA1 hash算法表示的ID来标识不同的版本。

15)、标记(Tags)
标记指的是某个分支某个特定时间点的状态。通过标记,可以很方便的切换到标记时的状态。

如何创建项目仓库

工作目录

工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文。

日常使用只要记住下图6个命令:

image-20240828105504123

项目仓库

版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。

创建全新仓库

需要用GIT管理的项目的根目录执行:

# 在当前目录新建一个Git代码库 
$ git init

执行后可以看到,仅仅在项目目录多出了一个.git目录,关于版本等的所有信息都在这个目录里面。

当然如果使用如下命令,可以把创建目录与仓库一起完成:

# 新建一个目录,将其初始化为Git代码库
$ git init ossbar
克隆远程仓库

另一种方式是克隆远程目录,由于是将远程服务器上的仓库完全镜像一份至本地,而不是取某一个特定版本,所以用clone而不是checkout,语法格式如下:

# 克隆一个项目和它的整个代码历史(版本信息)
$ git clone [url]

执行:

比如我们要从克隆的远程仓库托管在github上,地址为:https://gitee.com/ossbar/ossbar-platform-service.git,这是一个公开的项目

image-20240828105605734

输入如下命令

git clone https://gitee.com/ossbar/ossbar-platform-service.git
image-20240828105751486

如何给用户和用户组授权

Git 权限管理

Git中的组和项目有三种访问权限:Private、Internal、Public

  1. Private:只有组成员才能看到
  2. Internal:只要登录的用户就能看到
  3. Public:所有人都能看到

例如:开源项目和组设置的是Internal

Git用户在组中有五种权限

Guest、Reporter、Developer、Master、Owner

  1. Guest:可以创建issue、发表评论,不能读写版本库;
  2. Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限;
  3. Developer:可以克隆代码、开发、提交、push,RD可以赋予这个权限;
  4. Master:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限;
  5. Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限;

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞


http://www.ppmy.cn/server/110572.html

相关文章

Linux学习之路 -- 信号概念 信号的产生

1、简单介绍 Linux中的信号是一种机制,用于通知进程发生了某个事件。它可以由内核或一个进程发送给另一个进程。信号有默认行为,如终止进程或忽略信号,也可以被进程捕获并自定义处理。常见的信号包括SIGINT(中断信号)…

GPT说【网络协议实践:HTTP】如何从服务器上发送一个pdf文件给客户端。

要在 Flask 中处理客户端请求 PDF 文件并返回该文件,可以使用 send_file 或 send_from_directory 函数。假设已经有一个 PDF 文件,并且这个文件位于服务器上 static/pdf 目录中,你可以按照以下步骤来实现。 使用 send_file 函数返回 PDF 文件…

刷题记录-HOT 100(一)40道

记录题解和思路。 一、哈希表解决问题 1、两数之和 思路: 创建哈希表: 初始化了一个空字典来存储已经访问过的数字及其对应的索引。 遍历数组: 逐一遍历数组中的每个元素。在遍历过程中,针对每个元素 num,计算出它…

VUE3+FLASK+TYPESCRIPT(实习接触,学习并自主实现)

开头 不同于笔者在学校自学简单的htmljscss的模式,加入了前端框架VUE3真的是一个非常方便的工具,而且本人主攻于c方向,像ts这种更严格的语法标准反而更加比原生js更能让我接受,由于这三个都是本人没接触的库框架和语言&#xff0c…

安装NERDTree

安装NERDTree ⑴、cd ~/.vim ⑵、git clone https://github.com/scrooloose/nerdtree ⑶、把plugin/NERD_tree.vim 和 doc/NERD_tree.txt 分别复制到 /.vim/plugin和/.vim/doc cp nerdtree/plugin/NERD_tree.vim ~/.vim/plugincp nerdtree/plugin/NERDTree.txt ~/.vim/doc⑷、安…

设计模式-结构型模式-外观模式

1.外观模式定义 为子系统中的一组接口提供统一的接口,它定义了一个更高级别的接口,使得子系统更易于使用;相当于公司部门之间通过代表来沟通,这样减少无效、复杂的沟通; 1.1 外观模式的优缺点 优点: 他对…

无人机 PX4 飞控 | ROS应用层开发:指令(字符串)订阅功能

无人机 PX4 飞控 | ROS应用层开发:指令(字符串)订阅功能 指令(字符串)订阅功能代码测试 指令(字符串)订阅功能 为了通过键盘触发mavros 的不同功能,需要实现一个订阅字符串的功能 该…

Golang | Leetcode Golang题解之第388题文件的最长绝对路径

题目&#xff1a; 题解&#xff1a; func lengthLongestPath(input string) (ans int) {n : len(input)level : make([]int, n1)for i : 0; i < n; {// 检测当前文件的深度depth : 1for ; i < n && input[i] \t; i {depth}// 统计当前文件名的长度length, isFi…