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

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进行版本控制和团队协作。

补充:强推和合并差异,解决远端有人先提交自己和远端不一致的问题;

你需要先将远程仓库的变化拉取到本地,合并这些变化,然后再推送到远程仓库。你可以按照以下步骤操作:

  1. 拉取远程仓库的变化并合并到本地:

    git pull origin master

    这条命令会尝试自动合并远程仓库和本地仓库的变化。如果有冲突,你需要手动解决这些冲突。

  2. 解决完冲突后,再次尝试推送到远程仓库:

    git push origin master

如果你不想合并远程仓库的变化,而是想覆盖它们,你可以使用强制推送(force push)的选项。但是请注意,这通常不是一个好的做法,因为它会丢失远程仓库中的历史提交。如果你确实需要这样做,可以使用以下命令:

git push origin master --force

但是,请谨慎使用强制推送,并确保你了解它的后果。在大多数情况下,合并远程仓库的变化是更安全、更合适的选择。

启用凭证缓存::永久

git config --global credential.helper store 

输入一次密码后可以不再输入;

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

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

相关文章

《Web项目跨域请求后端Api设置Cookie失败问题?》

问题描述&#xff1a; 在web项目中跨域请求api时&#xff0c;api登录成功后需要向域名中设置cookie实现在两个域名下共享&#xff0c;但是登录接口返回成功&#xff0c;响应头中也有set-cookie&#xff0c;实际却无法设置到cookie中… web项目访问时的域名https://b.com/ api所…

解锁Spring Boot、Prometheus与Grafana三合一:打造你的专属自定义指标炫酷大屏!

1. 集成Prometheus到Spring Boot 需要在Spring Boot应用中集成Prometheus。可以通过micrometer库来实现。micrometer是一个应用程序监控库&#xff0c;它支持多种监控系统&#xff0c;包括Prometheus。 一招制胜&#xff01;Spring Boot、Prometheus和Grafana三剑合璧&#x…

银河麒麟服务器操作系统Kylin-Server-V10-SP3-2403-Release-20240426-x86_64安装步骤

银河麒麟服务器操作系统 Kylin-Server-V10-SP3-2403-Release-20240426-x86_64安装步骤 一、准备工作1. 下载ISO镜像2. 制作安装介质3. 设置BIOS 二、安装过程1. 启动系统2. 选择安装语言3. 选择安装配置4. 配置root密码与创建用户5. 开始安装6. 重启系统7. 同意许可协议 三、系…

【Redis】基本全局命令

Redis的基本全局命令 keysexistsdelexpirettltype Redis 有 5 种数据结构&#xff0c;但它们都是键值对种的值&#xff0c;对于键来说有⼀些通⽤的命令。 keys 返回所有满足样式 &#xff08;pattern&#xff09;的key。支持如下统配样式。 h?llo 匹配 hello , hallo 和 hxl…

培训班和科班出生有什么区别

IT业的萌新来啦 每到毕业季 总有大量萌新走进职场 IT圈子的程序员 有的是科班出生 比如 计算机科学与技术、软件工程、大数据技术 有的是相关专业出生的 比如 信息安全、网络工程、物联网工程等等 除此之外 还有各种其他专业转行过来的 文理不限、专业不限 科班出生…

【在Linux世界中追寻伟大的One Piece】IO基础

目录 1 -> 回顾 1.1 -> 回顾C文件接口 1.2 -> 总结 2 -> 系统文件I/O 3 -> 接口介绍 3.1 -> open 3.2 -> open函数返回值 3.3 -> 文件描述符fd 4 -> 0 & 1 & 2 5 -> 文件描述符的分配规则 6 -> 重定向 7 -> 使用dup2系…

运维开发——局域网SSH访问服务器与应用

摘要 本博文主要介绍局域网SSH访问登陆虚拟机和及其应用相关配置操作。 1. 局域网SSH访问登陆虚拟机 目标&#xff1a;在局域网内A电脑使用SSH登陆B电脑上虚拟机的服务器。 前提条件:B电脑为宿主机&#xff0c;可以正常使用ssh访问虚拟机服务器&#xff0c;虚拟机网络连接方…

深度学习基础—超参数调试

1.超参数调试顺序 在训练深度网络最难的事情之一是超参数的选择&#xff0c;如何选择合适的超参数取值&#xff1f;下面我将谈谈&#xff0c;如下是我所理解的超参数调试顺序&#xff1a; 重要性排序 超参数 Top1梯队 学习率a Top2梯队 min-batch大小&#xff0c;隐层神经…

QT-五子棋游戏

QT-五子棋游戏 一、演示效果二、核心代码三、下载链接 一、演示效果 二、核心代码 #include "GameModel.h" #include <time.h> #include <stdlib.h>GameModel::GameModel(){}void GameModel::startGame(GameType type){gameType type;//初始化棋盤game…

uniapp/vue如何实现一个子表单及子表单作用

子表单是一个辅助表单或一个表&#xff0c;它允许在主表单中添加多个行式项目&#xff0c;以处理与主记录相关联的多个辅助项目或数据。子表单在多种应用场景中发挥着重要作用&#xff0c;特别是在需要处理一对多关系的数据时。 以下是对子表单的详细解析&#xff1a; 定义与特…

90%的设计师都不知道的免抠图素材插件,水花免抠png素材轻松搞定!附保姆教程

你是否曾在设计中为绘制那些晶莹剔透的水花而苦恼&#xff1f;用PS太麻烦&#xff0c;细节根本抠不清楚&#xff1b;去素材网找&#xff0c;不是付费太高就是图案不满意&#xff01;可以试试千鹿设计助手的“AI免抠生成”插件&#xff0c;接下来我来分享一下我的一些使用过程和…

ardupilot开发 --- C嘎嘎 篇

长生不老&#xff1f;三界六道不就毁在这4个字上&#xff1f; 溜撒点一起上吧 cout和cin的使用&#xff0c;标准输入输出<< 和 >> 的使用数据类型&#xff08;函数&#xff09;模板的使用&#xff1a;命名空间的使用&#xff0c;std命名空间语句块new 的使用引用 &…

fiddler在软件测试中的使用(详细版)

1.抓包&#xff0c;辅助定位bug&#xff08;web中类似谷歌浏览器F12开发调试工具&#xff09; 合格的软件测试工程师&#xff0c;不仅仅需要能够发现bug&#xff0c;还需要能透过bug表象&#xff0c;分析出问题根本原因&#xff0c;从而提升bug的解决效率&#xff0c;通过fidd…

手机使用技巧:如何恢复Android手机不见的短信

在您的 Android 手机上丢失短信可能是一种令人沮丧的经历&#xff0c;尤其是在文本包含重要信息的情况下。幸运的是&#xff0c;有一些方法可以在Android上恢复已删除的短信。在这篇博文中&#xff0c;我们将讨论几种在Android手机上恢复已删除短信的方法。 为什么需要恢复Andr…

vue2版本空目录下创建新项目的方法2024

vue2版本空目录下创建新项目的方法2024 node -v npm -v vue -V 安装vue-cli 2.9版本的命令 npm install vue-cli -g 卸载vue2.x方法&#xff1a; npm uninstall vue-cli -g 设置 NPM 镜像 npm config set registry https://registry.npmmirror.com vue -V 报错时需设置环…

JVM的内存模型和垃圾回收

JVM内存区域 内存模型图&#xff1a; 堆 线程共享。所有的对象实例以及数组都要在堆上分配。回收器主要管理的对象。 它的目的是存放对象实例。同时它也是GC所管理的主要区域&#xff0c;因此常被称为GC堆&#xff0c;又由于现在收集器常使用分代算法&#xff0c;Java堆中还…

【Spring Cloud】Consul

官网介绍: Spring Cloud Consul该项目为Spring Boot应用程序提供了与Consul的集成,通过自动配置和绑定到Spring环境以及其他Spring编程模型习语。通过几个简单的注解,您可以在应用程序内部快速启用和配置常见模式,并使用基于Consul的组件构建大型分布式系统。提供的模式包括…

【网络编程】第十一章 数据链路层 - 以太网(MAC+MTU+ARP+MSS+RARP)

文章目录 重点链路层以太网MAC帧格式碰撞域MAC地址MAC地址和IP地址 MTU-最大传输单元MTU 对 IP 的影响MTU 对 UDP 的影响MTU 对 TCP 的影响-MSS ARP协议ARP协议的工作流程ARP请求的过程ARP应答的过程 ARP 缓存中间人攻击 RARP协议 重点 数据链路层的作用&#xff1a;两个设备 …

虚幻5|AI视力系统,听力系统,预测系统(2)听力系统

虚幻5|AI视力系统&#xff0c;听力系统&#xff0c;预测系统&#xff08;1&#xff09;视力系统-CSDN博客 一&#xff0c;把之前的听力系统&#xff0c;折叠成函数&#xff0c;复制粘贴一份改名为听力系统 1.小个体修改如下&#xff0c;把之前的视力系统改成听力系统 2.整体修…

解决Jasper Studio预览无数据源的问题:在Dataset and Query里面预览数据为空,但是浏览器访问接口,是存在数据的。

目录 1.1、错误描述 1.2、解决方案 1.1、错误描述 最近接触Jasper Studio报表开发比较多一些&#xff0c;遇到了很多的问题&#xff0c;其中有一个问题就是&#xff1a;在Jasper Studio中的Dataset and query里面预览数据&#xff0c;发现是空的&#xff0c;如下图所示&…