git-版本管理工具基本操作-创建仓库-拉取-推送-暂存库-版本库

news2024/9/24 7:23:36

1、创建仓库

 2、克隆仓库到本地(首次拉取需要输入用户名和密码,用户名用邮箱,密码用登录gitee的密码,后面配置密钥后可以直接clone)

在命令行输出两行指令配置git才能克隆:

username:gitee账号名

useremail:gitee账号绑定的邮箱

 进入拉取下来的工程目录:

 

使用ll命令查看.git

3、git的设计原理: 

index:暂存区

objects:版本库

 4、git status:获取版本状态,该命令不能再隐藏文件.git中使用

添加了文件的状态: 

 添加了文件到版本库的状态:

 5、推送更新仓库过程

(1)添加文件到暂存区:git add   filename

(2)添加暂存区到版本库:git commit -m  “添加说明”  (建议格式固定:添加人员:操作描述)

(3)推送文件到远程仓库:git push origin  master

origin:远程仓库地址

master:仓库分支名

 cd .git/

vim config

 6、添加开发者协作

管理--》仓库成员管理--》开发者--》邀请

 添加公钥:

进入Linux家目录使用ssh-keygen -t  -rsa -c "公钥标记"

cd 到.ssh/ 文件夹下可以看到生成的公钥和私钥;

pub后缀表示公钥; 

使用cat 查看公钥内容并赋值到仓库的公钥添加上;

 非仓库管理源获取该仓库内容需要用ssh:可以看提示配置

 git reflog于记录本地仓库的 HEAD 和分支引用(branch references)的变动历史

 误删回滚:

1、在git add 之前删除  用git checkout -- .(git restore可以替代但是在未提交之前,暂未尝试成功;)

 

 2、git add 之后 在 git commit 之前用 git restore 撤销修改;

 

 3、在git commit 之后删除可以通过git reset --hard 版本号前几个字符进行回滚

 

 

1. 创建仓库
  • 在Gitee、GitHub等Git托管平台上创建一个新的仓库。通常包括填写仓库名称、描述、是否公开等信息。
2. 克隆仓库到本地
  • 首次克隆仓库时,可能需要在命令行中输入用户名(使用邮箱格式)和密码(登录Gitee或GitHub的密码)。为了避免每次都需要输入密码,可以配置SSH密钥。

  • 配置Git用户信息(尽管这与克隆仓库无直接关系,但通常在开始使用Git前进行):

    git config --global user.name "gitee账号名"
    git config --global user.email "gitee账号绑定的邮箱"
  • 克隆仓库命令:

    git clone git@gitee.com:用户名/仓库名.git

    或使用HTTPS方式(首次可能需要输入用户名和密码):

    git clone https://gitee.com/用户名/仓库名.git
  • 进入仓库目录,并使用ll(或ls -l)命令查看文件,包括.git目录(通常是隐藏的)。

3. Git的设计原理
  • Index(暂存区):暂存更改的文件,准备提交到版本库中。
  • Objects(版本库):存储实际的文件内容和Git的历史记录。
4. git status
  • 用于获取当前仓库的状态,包括哪些文件被修改了、哪些文件是新添加的、哪些文件被暂存了等。
  • 添加了文件的状态git status会显示新文件未被跟踪(untracked)。
  • 添加了文件到版本库的状态:文件会显示为已暂存(staged)或已提交(committed)。
5. 推送更新仓库过程
  1. 添加文件到暂存区

    git add filename
  2. 添加暂存区到版本库

    git commit -m "添加说明" # 例如:"张三: 添加了新功能X"
  3. 推送文件到远程仓库

    git push origin master # 或者其他分支名,如main

    注意:随着Git的发展,master分支可能已被重命名为main

6. 添加开发者协作
  • 在Gitee等平台上,通过“管理”->“仓库成员管理”->“开发者”->“邀请”来添加协作者。

  • 添加公钥

    • 在Linux上生成SSH密钥对(如果还没有的话):
      ssh-keygen -t rsa -b 4096 -C "你的邮箱"
    • 将生成的公钥(.ssh/id_rsa.pub文件的内容)添加到Gitee等平台的SSH公钥设置中。
7. 误删回滚
  1. git add之前删除

    git checkout -- . # 或者 git restore .(Git 2.23+)
  2. git add之后,git commit之前撤销修改

    git restore filename # 或者 git checkout -- filename(较旧的Git版本)
  3. git commit之后删除或回滚

    git reset --hard <commit-id> # <commit-id>可以是提交的完整哈希值的前几个字符
8. git reflog
  • 用于记录本地仓库的HEAD和分支引用的变动历史。当你不确定何时或如何进行了某些更改时,这非常有用。

通过遵循这些规范,可以更有效地使用Git进行版本控制和团队协作。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2053634.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2D Inpainting 与NeRF 3D重建的多视角一致性问题

一 问题&#xff1a; NeRF依赖于输入图像的一致性。NeRF&#xff08;Neural Radiance Fields&#xff09;在生成三维场景时&#xff0c;依赖于从多个视角拍摄的输入图像之间的一致性来准确地推断场景的三维结构和颜色信息。 具体来说&#xff1a; 多视角一致性&#xff1a; Ne…

宝塔面板一键部署Inis博客网站结合内网穿透为本地站点配置公网地址

文章目录 前言1. Inis博客网站搭建1.1. Inis博客网站下载和安装1.2 Inis博客网站测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;2.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 3. 公网访问测试总…

Day42 | 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II

语言 Java 739. 每日温度 每日温度 题目 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该…

计算机网络基础详解:从网络概述到安全保障的全面指南

目录 网络基础详细概述 1. 网络概述 1.1数据通信 1.2资源共享 1.3分布式处理 1.4负载均衡 2. 网络分类 2.1按覆盖范围&#xff1a; 2.1.1局域网 (LAN)&#xff1a; 2.1.2城域网 (MAN)&#xff1a; 2.1.3广域网 (WAN)&#xff1a; 2.2按拓扑结构&#xff1a; 2.2.1…

IEEE802网络协议和标准

IEEE802网络协议和标准 802委员会IEEE 802介绍现有标准 IEEE 802.3介绍物理媒介类型MAC子层与LLC子层主要内容通讯标准POE供电标准802.3af、802.3at、802.3btIEEE802.3af的工作过程&#xff1a;IEEE802.3af主要供电参数&#xff1a;IEEE802.3af的分级参数&#xff1a;为什么会有…

C++的序列容器——数组

前言&#xff1a; 这篇文章我们就开始新的章节&#xff0c;我们之前说的C/C的缺陷那部分内容就结束了。在开始新的章之前我希望大家可以先对着题目思考一下&#xff0c;C的容器是什么&#xff1f;有什么作用&#xff1f;下面让我们开始新的内容&#xff1a; 目录 前言&#x…

从数据类型到变量、作用域、执行上下文

从数据类型到变量、作用域、执行上下文 JS数据类型 分类 1》基本类型&#xff1a;字符串String、数字Number、布尔值Boolean、undefined、null、symbol、bigint 2》引用类型&#xff1a;Object (Object、Array、Function、Date、RegExp、Error、Arguments) Symbol是ES6新出…

S7协议转HTTP协议

如下来源成都纵横智控-https://www.iotrouter.com/ 需求概述 本章要实现一个流程&#xff1a;EG8200采集西门子S7-200Smart的数据&#xff0c;并组装成JSON格式通过HTTP上报应用平台。 要采集的PLC点位表如下&#xff1a; PLC S7-200 Smart IP 192.168.0.34/102 点表(DB1…

C++第十一弹 -- STL之List的剖析与使用

文章索引 前言1. list的介绍2 list的使用2.1 list的构造函数2.2 iterator的使用2.3 list capacity2.4 list element access2.5 list modifiers 3. list的迭代器失效4. list与vector的对比总结 前言 本篇我们旨在探讨对于STL中list的使用, 下一篇我们将会对list进行底层剖析以及…

目录操作(2)(21)

1.getpwuid struct passwd *getpwuid(uid_t uid); 功能: 根据用户id到ks文件下解析获得 结构体信息 参数: uid:用户id 返回值: 成功返回id对应用户的信息 失败返回NULL eg&#xff1a;接受返回值struct passwd * pw getpwuid(uid); struct passwd {char *pw_name; …

Servlet---axios框架 ▎路由守卫

前言 在现代Web应用中&#xff0c;前端和后端通常分离&#xff0c;前端使用框架&#xff08;如Vue.js、React&#xff09;与后端服务交互。Servlet是Java EE中处理HTTP请求的重要组成部分&#xff0c;能够生成动态Web内容。 Axios是一个基于Promise的HTTP客户端&#xff0c;简…

【layUI】只能选某个特定区间的日历

要实现的功能如下&#xff1a;业务要求让日历只有近3天可选&#xff0c;其它部分变灰且不可选。 代码实现 在html中加入如下代码&#xff1a; <label class"layui-form-label" style"">日期&#xff1a; </label> <div class"layu…

二、前后端分离通用权限系统(2)

&#x1f33b;&#x1f33b; 目录 一、 Mybatis-Plus 复习1.1、简介1.2、特点1.3、支持数据库1.4、在工程中引入依赖 二、Mybatis-Plus 入门2.1、导入配置文件2.2、导入启动类2.3、实体类2.4、创建 Mapper 类2.5、创建测试 Mapper接口2.6、CRUD 测试2.6.1、insert 添加2.6.2、主…

flink环境搭建

Flink会话模式 1.集群规划&#xff1a; 2. 将flink拖到/opt/so下 3. 将安装包解压到/opt/module下&#xff1a; tar -zxvf /opt/so/flink-1.15.4-bin-scala_2.12.tgz -C /opt/module 4. 改个名&#xff1a;mv flink-1.15.4 flink 5. 修改配置文件&#xff1a;cd /opt/mo…

CPU 绑核

随笔记录 目录 1. 背景介绍 2. 查询设备CPU 中断核 2.1 查询设备名 2.2 查询设备CPU 中断核 2.2.1 查询本服务上所有设备 CPU 中断核Number 2.2.2 查询 每个设备cpu 中断核的 3. 确定可绑定CPU 核 3.1 查询cpu 信息 3.2 绑核 3.3 更新group 3.4 重启后查看 4. 绑核…

9 算术、关系、逻辑、赋值、位操作、三元运算符及其优先级

目录​​​​​​​ 1 运算符基础 1.1 什么是运算符 1.2 什么是表达式 1.3 左操作数和右操作数 1.4 运算符分类 1.4.1 按照操作数个数分类 1.4.2 按照功能分类 1.5 如何掌握运算符 2 算术运算符 2.1 正号和负号 2.2 加、减、乘、除 2.3 取模&#xff08;取余&#…

Java八股整合(MySQL+Redis+Maven)

MySQL 数据库设计三范式 不可再分&#xff0c;部分依赖&#xff0c;传递依赖 主键和外键区别 主键非空约束&#xff0c;唯一性约束&#xff0c;唯一标识一个字段 外键用于和其他表建立连接&#xff0c;是另一张表的主键&#xff0c;可重复可为空可以有多个 为什么不推荐使…

记录一次生产jvm问题的排查

记录一次生产问题的排查 第一天晚上 现象 1、前援反馈页面有接口陆续出现请求超时 2、登录后台服务器top命令查看发现java进程发生高cpu占用情况 3、查看对应业务日志&#xff0c;报数据库连接等待超时-数据库连接池连接无空闲 对应处理 1、临时调大数据库连接池最大连接数限…

如何发布自己的NPM包详细步骤

前言 在前端开发中&#xff0c;将自己编写的 Vue 组件或插件打包并发布到 NPM 上&#xff0c;不仅可以方便自己在其他项目中复用&#xff0c;还能分享给更多的开发者使用。本文将从 NPM 注册、登录与发布流程&#xff0c;及如何通过 Vue CLI 打包插件的角度详细介绍如何发布 V…

C#线程的使用

每个正在操作系统上运行的应用程序都是一个进程&#xff0c;一个进程可以包括一个或多个线程。线程是操作系统分配处理器时间的基本单元&#xff0c;在进程中可以有多个线程同时执行代码。 1、单线程 单线程就是只有一个线程。默认情况下&#xff0c;系统为应用程序分配一个主…