Linux-git

文章目录

  • git简介
  • git常用命令
    • 配置
    • 初始化仓库
    • 将文件添加到暂存区
    • 将暂存区文件加入版本库
    • 对比工作区某文件和暂存区中的区别
    • 将暂存区的文件移除但git仍管理
    • 将文件移除暂存区并且git不再管理
    • 查看版本库
    • 切换到之前的版本
    • 恢复文件
    • 持久化
  • 云端
    • 将本地的项目推送到远程仓库
    • 将远程仓库的文件克隆下来
  • 分支操作
    • 简述
    • 操作
      • 创建新分支
      • 查看分支
      • 回到分支
      • 合并分支
      • 删除分支
      • 将本地的commit提交到云端
      • 将其他分支同步到云端
      • 删除云端的分支
      • 将云端分支和本地分支对应起来
      • 将云端同步到本地
      • 将云端分支合并到本地当前分支
  • 多人协同
    • 添加密钥

git简介

git的功能是用一棵树的形式将代码的历史版本维护出来
工作区:仓库的目录,独立于各分支
暂存区:数据暂时存放的区域,类似于工作区写入版本库前的缓存区。暂存区是独立于各个分支的。
版本库:存放所有已经提交到本地仓库的代码版本。是树形结构的各节点

git常用命令

配置

  • git --global user.name xxx:设置全局用户名,保存在~/.gitconfig文件下
  • git --global user。email xxxx:设置全局邮箱地址,保存在~/.gitconfig文件下

初始化仓库

  • git init:初始化仓库,在当前目录下创建了一个空仓库,将所有仓库的信息放在.git隐藏文件夹下

将文件添加到暂存区

  • git add xx:将xx文件加入到暂存区,
  • git add .:将所有待加入到暂存区的文件加入到缓存区
    修改project后(创建了一个readme.txt),再次查看惨仓库状态git status,可以看到有一个readme.txt未加入暂存区
    image
    git add readme.txt后,显示有一个readme.txt文件在暂存区中
    image

将暂存区文件加入版本库

  • git commit -m "给自己看的备注信息":将暂存区的内容提交到版本库
    image
    修改readme.txt文件
    image
    查看仓库当前状态用git status命令,可以看到我们修改了readme.txt文件
    image
    将修改后的文件加入暂存区
    image
    如果文件颜色变成绿色则说明文件已经被放入暂存区

对比工作区某文件和暂存区中的区别

  • git diff xx:xx为要对比的文件名
    image

将暂存区的文件移除但git仍管理

  • git restore --stage xx:xx为文件名,此命令仅将暂存区的xx文件移除暂存区,但git仍然管理这个文件

将文件移除暂存区并且git不再管理

  • git rm --cached xx
    如果我们想git接着管理我们就再add一遍就可以了

查看版本库

  • git log:查看当前分支中的所有版本
    image
    image

切换到之前的版本

  • git reset --hard HEAD^:回滚到当前HEAD的前一个版本,两个^表示回滚到当前HEAD的前两个版本
  • git reset --hard 版本号:回滚到版本号的版本,这样我们就可以回滚到任意版本了
    image
    回滚后查看git log,可以看到从空走到当前HEAD的版本
    image

注意这里的回滚是不会将我们之前的内容删掉的,如果回到我们跳过来的版本呢?可以先利用git reflog:查看HEAD移动的记录,这样我们可以找到每个移动过的版本的编号,git reflog看到的是前7位,关于回滚的含义,这里将本地存储的文件跳回版本号存储的文件,这个就是一个帮助我们管理历史版本很有效的方法

image
image
image
跳回到add 333版本

image

恢复文件

  • git restore xx:将修改的xx文件恢复,他是将我们的文件恢复到和暂存区一样,而不是回滚到之前的版本
    image

持久化

  • git commit -m "备注":将暂存区的内容持久化
    image
    也可以只讲暂存区中的一部分文件持久化
    git add xx 然后 git commit -m xx
    image

云端

将本地的项目推送到远程仓库

  • git remote add origin git@git.acwing.com:cxy8/project.git:将本地目录和远程目录对应起来 git@git.acwing.com:cxy8/project.git:是名称@后面是域名,cxy/project.git是需要对用的文件路径

  • git push -u origin master:将本地仓库推送到远程仓库

将远程仓库的文件克隆下来

  • git clone git@git.acwing.com:cxy8/project.git:ssh克隆git@git.acwing.com:cxy8/project.git表示的和scp那里面的是一样的。

需要注意的是我们并没有将移动记录克隆下来也就是说没有reflog没有被记录下来

image

分支操作

简述

我们一般在开发的时候一般不会在主分支上开发,一般会在不同的分支进行开发

操作

创建新分支

  • git checkout -b branch_name:创建一个名为branch_name的分支

查看分支

  • git branch

image

回到分支

  • git checkout branch_name

合并分支

  • git merge 分支名:将分支的HEAD节点合并到当前分支的当前节点
    image
    合并分支时出现矛盾需要我们手动更改
    image

image
此时readme.txt文件的内容如下:
image

删除分支

  • git branch -d branch_name:删除分支

将本地的commit提交到云端

  • git push (-u):第一次提交需要加上-u,后面则不需要
    image

将其他分支同步到云端

  • git push --set-upstream origin dev3

删除云端的分支

  • git push -d origin dev3:删除云端dev3这个分支

将云端分支和本地分支对应起来

  • git branch --set-upstream-to=origin/branch_name1 branch_name2:将远程的branch_name1branch_name2对应起来

将云端同步到本地

  • git pull:相当于将云端的分支拿下来然后再merge

将云端分支合并到本地当前分支

  • git pull origin branch_name

多人协同

多人协同开发时都不会在master分支上开发,都是在dev分支上进行开发,每个人开发一个分支

添加密钥

git-keygen
将密钥添加到仓库
创建新分支并和远程创库的分支对接
git checkout -b dev 
git branch --set-upstream origin dev
git pull

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

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

相关文章

深度强化学习 第 5 章 SARSA 算法

上一章介绍了 Q 学习的表格形式和神经网络形式(即 DQN)。 TD 算法是一大类算法的总称。上一章用的 Q 学习是一种 TD 算法, Q 学习的目的是学习最优动作价值函数 Q ⋆ Q_⋆ Q⋆​ 本章介绍 SARSA,它也是一种 TD 算法, S…

车载视频如何转换视频格式

当你收集了多种视频想在车内进行播放,它们可能不会自动播放。你有可能会在屏幕上看到一条消息,显示“文件格式不受支持”,这是因为这些视频可能采用了你的汽车无法识别的格式。 那我们如何才可以转换为车载播放器上运行的最重要且最广泛使用…

网络协议--IP:网际协议

3.1 引言 IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输(见图1-4)。许多刚开始接触TCP/IP的人对IP提供不可靠、无连接的数据报传送服务感到很奇怪。 不可靠(unreliable)的意思是它不能…

安卓富文本部分高亮及点击事件

安卓富文本部分高亮及点击事件 前言一、富文本是什么?二、实现方法1.使用html2.使用SpannableString 总结 前言 富文本其实不是很常用,但有遇到了过后使用很方便的场景,例如免责声明。这时候就很重要了,前段时间遇到了&#xff0…

可视化(Visual) SQL初探

一、背景 在当今数字化时代,数据信息作为企业和组织的宝贵资源之一,如何挖掘其中的价值并帮助企业和组织个体决策,已然成为炙手可热的话题。数据分析作为其具体载体,是从数据中提取信息、洞察机遇、制定战略、做出决策的关键过程…

【C++面向对象】2.构造函数、析构函数

文章目录 【 1. 构造函数 】1.1 带参构造函数--传入数据1.2 无参构造函数--不传入数据1.3 实例1.4 拷贝构造函数 【 2. 析构函数 】 【 1. 构造函数 】 类的构造函数是类的一种特殊的成员函数,它会 在每次创建类的新对象时执行。 构造函数的名称与类的名称是完全相同…

统计学习方法 感知机

文章目录 统计学习方法 感知机模型定义学习策略学习算法原始算法对偶算法 学习算法的收敛性 统计学习方法 感知机 读李航的《统计学习方法》时,关于感知机的笔记。 感知机(perceptron)是一种二元分类的线性分类模型,属于判别模型…

【JAVA-Day49】Java LinkedList集合详解

Java LinkedList集合详解 摘要引言Java LinkedList集合详解一、什么是LinkedList集合1.1 链表数据结构1.2 双向链表1.3 动态大小1.4 插入和删除元素1.5 适用场景 二、LinkedList集合的使用2.1 创建 LinkedList 集合、添加元素、遍历元素2.2 在指定位置插入元素2.3 获取指定位置…

Maven的详细介绍(maven的全据配置以及idea中maven的配置)

maven的理解 Maven 是一个强大的项目管理和构建自动化工具,它通过抽象的项目对象模型(POM:Project Object Model)和构建生命周期模型(Project Lifecycle)来对项目及其构建过程进行管理(Dependency Management System),Maven 最大化的消除了构…

【TensorFlow1.X】系列学习笔记【入门二】

【TensorFlow1.X】系列学习笔记【入门二】 大量经典论文的算法均采用 TF 1.x 实现, 为了阅读方便, 同时加深对实现细节的理解, 需要 TF 1.x 的知识 文章目录 【TensorFlow1.X】系列学习笔记【入门二】前言神经网络的参数神经网络的搭建前向传播反向传播 总结 前言 学习了张量、…

SpringBoot 第一个接口编写

RestController //表示该类为请求处理类public class HttpDeal {RequestMapping("/login")//这个方法处理哪一个地址过来的请求public String hello(){return "返回给浏览器";}}

测试Android webview 加载本地html

最近开发一个需要未联网功能的App, 不熟悉使用Java原生开发界面,于是想使用本地H5做界面,本文测试了使用本地html加载远程数据。直接上代码: MainActivity.java package com.alex.webviewlocal;import androidx.appcompat.app.AppCompatAct…

DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题

DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题 需求:左边这列固定x行,右边显示下拉,并且赋上默认值 public void Set(){// 添加需要固定显示的行数dataGridView1.Rows.Add("早班";dataGridView1.Rows.Add("中…

小团队之间有哪些好用免费的多人协同办公软件

在小团队协作中,选择适合的多人协同办公软件是提高工作效率和团队协作的重要一环。幸运的是,市场上有许多大多数功能都免费的多人协同办公软件,为小团队提供了强大的协作功能和便捷的工作环境。 在本文中,我将根据自己多年的在线…

[C++] C++入门

☃️个人主页:fighting小泽 🌸作者简介:目前正在学习C和Linux 🌼博客专栏:C入门 🏵️欢迎关注:评论👊🏻点赞👍🏻留言💪🏻 …

Cesium Vue(六)— 材质(Material)

1. 设置entity材质 添加棋盘纹理材质 // 棋盘纹理 let material new Cesium.CheckerboardMaterialProperty({ evenColor: Cesium.Color.RED, oddColor: Cesium.Color.YELLOW, repeat: new Cesium.Cartesian2(2, 2), });添加条纹纹理材质 // 条纹纹理 let material new Cesium…

Java利用反射和读取xml实现迷你容器

由于需要框架能实现多态,达到控制反转解耦。所以容器还是需要的,容器的存在可以简化对象获取工作,但是容器也不是万能的。合理使用即可,Spring对我来说太庞大了,用不着,为此给框架写一个迷你版容器。 容器…

Qt中Json的操作

在 Json的两种格式中介绍了Json的格式以及应用场景。由于这种数据格式与语言无关,下面介绍一下Json在Qt中的使用。 从Qt 5.0开始提供了对Json的支持,我们可以直接使用Qt提供的Json类进行数据的组织和解析。相关的类常用的主要有四个,具体如下: Json类介绍 QJsonDocument |…

【vSphere 8 自签名证书】企业 CA 签名证书替换 vSphere Machine SSL 证书Ⅰ—— 生成 CSR

目录 替换拓扑图证书关系示意图说明 & 关联博文 1. 默认证书截图2. 使用certificate-manager生成CSR2.1 创建存放CSR的目录2.2 记录PNID和IP2.3 生成CSR2.4 验证CSR 参考资料 替换拓扑图 证书关系示意图 默认情况下,VMCA 与 Machine SSL的关系是 本系列博文要…

UE5--物体卡片与材质入门

参考资料: 《Unreal Engine5 入门到精通》--左央 虚幻引擎5.2文档:https://docs.unrealengine.com/5.2/zh-CN/ 前言: 跟着左央老师的《Unreal Engine5 入门到精通》学习制作AI版胡闹厨房,把学习过程与学习到的东西归纳总结起来。 …