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.rhkb.cn/news/164005.html

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

相关文章

weapp-tailwindcss for uni-app 样式条件编译语法插件

weapp-tailwindcss for uni-app 样式条件编译语法插件 版本需求 2.10.0 weapp-tailwindcss for uni-app 样式条件编译语法插件 这是什么玩意?如何使用 tailwind.config.js 注册postcss 插件注册 uni-app vite vue3uni-app vue2 配置完成 配置项 这是什么玩意? 在 uni-app …

[1Panel]开源,现代化,新一代的 Linux 服务器运维管理面板

测评介绍 本期测评试用一下1Panel这款面板。1Panel是国内飞致云旗下开源产品。整个界面简洁清爽,后端使用GO开发,前端使用VUE的Element-Plus作为UI框架,整个面板的管理都是基于docker的,想法很先进。官方还提供了视频的使用教程&…

vue使用pdf-dist实现pdf预览以及水印

vue使用pdf-dist实现pdf预览以及水印 一.使用pdf-dist插件将PDF文件转换为一张张canvas图片 npm install pdf-dist二.页面引入插件 const pdfJS require("pdfjs-dist"); pdfJS.GlobalWorkerOptions.workerSrc require("pdfjs-dist/build/pdf.worker.entry&…

ubuntu18.04 LTS卸载qtcreator-10.0.2

之前通过命令,通过.run文件,安装了Qt Creator 默认安装路径是/opt/ 卸载 在安装路径下,可以看到QtCreatorUninstaller文件 命令行运行该执行文件,会弹出卸载窗口,记得勾选下面的“仅卸载”

el-upload实现上传文件夹

背景&#xff1a;如图一所示&#xff0c;最下面有一个黄色上传文件按钮&#xff0c;为手动上传而且上传区域有上传文件和上传文件夹的区分 所以需要在点击了上传文件夹做特殊处理使得el-upload可以上传文件夹 一、template区域 <el-uploadclass"upload-file"dra…

小程序:uniapp解决主包体积过大的问题

已经分包但还是体积过大 运行时勾选“运行时是否压缩代码”进行压缩 在manifest.json配置&#xff08;开启分包优化&#xff09; "mp-weixin" : {"optimization" : {"subPackages" : true}//.... },在app.json配置&#xff08;设置组件按需注入…

客户端post请求,服务器收到{}数据解决方法

当我们发起登录请求时&#xff0c;后台接收到的为{}数据 原因&#xff1a;传送过去的对象格式不对 解决方案&#xff1a; 引入qs npm install qs 在data中格式化数据 const res await axios({url:http://127.0.0.1:3000/post,method:post,data:Qs.stringify({username:te…

华为智选SF5,AITO问界的车怎么样

#华为智选 #赛力斯SF5 #aito问界m5 #aito问界m7 #华为汽车 华为的车&#xff0c;后杠焊两点&#xff0c;拉车的时候&#xff0c;拖车钩断了&#xff0c;后杠拉出来了&#xff0c;这质量可以吗&#xff1f;是否应该全部召回&#xff1f;M5&#xff0c;M7是不是也这样&#xff1f…

MIT6.5830 Lab0-Go tutorial实验记录(二)

MIT6.5830 Lab0-Go tutorial实验记录&#xff08;二&#xff09; – WhiteNights Site 标签&#xff1a;Golang, 数据库 在将数据库的数据转换为图表前&#xff0c;我们需要先测试是否能正常访问数据库文件。 写者注 为什么要怎么做&#xff1f;因为这块 非常容易出问题。在h…

https证书配置(nginx)

HTTPS 是什么 HTTPS 是一种应用层协议&#xff0c;是一种透过计算机网络进行安全通信的传输协议&#xff0c;HTTPS 经由 HTTP 进行通信&#xff0c;但是在 HTTP 的基础上引入了一个加密层&#xff0c;使用 SSL/TLS 来加密数据包&#xff0c;HTTPS 开发的主要目的&#xff0c;是…

作用域和作用域链

概述 本文将讲解作用域的形成和应用&#xff0c;并且在这基础上简单讲解for循环中的let创建的块级作用域原理。 一&#xff0c;作用域 1.1&#xff0c;作用域的概念 作用域是指在程序中定义变量的区域&#xff0c;该位置决定了变量的生命周期。 function testFn(){var a1 …

Zookeeper 和 Kafka 工作原理及如何搭建 Zookeeper集群 + Kafka集群

目录 1 Zookeeper 1.1 Zookeeper 定义 1.2 Zookeeper 工作机制 1.3 Zookeeper 特点 1.4 Zookeeper 数据结构 1.5 Zookeeper 应用场景 1.6 Zookeeper 选举机制 2 部署 Zookeeper 集群 2.1 安装前准备 2.2 安装 Zookeeper 3 Kafka 3.1 为什么需要消息队列&#xff08;…

SSH连接华为交换机慢

ssh连接交换机慢是因为交换计算密钥算法阶段默认使用安全性更高的秘钥&#xff0c;由于性能问题导致连接比较慢&#xff0c;如一台华为S5735S-L24T4S-QA2的交换机默认使用如下秘钥&#xff0c;安全行由高到低。 ssh server key-exchange dh_group16_sha512 dh_group15_sha512 …

Redux详解(二)

1. 认识Redux Toolkit Redux Toolkit 是官方推荐的编写 Redux 逻辑的方法。 通过传统的redux编写逻辑方式&#xff0c;会造成文件分离过多&#xff0c;逻辑抽离过于繁琐&#xff08;具体可看上篇文章 Redux详解一&#xff09;&#xff0c;React官方为解决这一问题&#xff0c;推…

HCIP静态路由综合实验

题目&#xff1a; 步骤&#xff1a; 第一步&#xff1a;搭建上图所示拓扑; 第二步&#xff1a;为路由器接口配置IP地址&#xff1b; R1&#xff1a; [R1]display current-configuration intinterface GigabitEthernet0/0/0ip address 192.168.1.1 255.255.255.252 interfa…

【试题026】赋值运算符小例题

1.题目&#xff1a;设int x100;表达式x%2(x1)%2的值是&#xff1f; 2.代码解析&#xff1a; #include <stdio.h> int main() {//设int x100;表达式x%2(x1)%2的值是&#xff1f;int x 100,y,c;printf("y%d\n", (y(x 1) % 2));c x % 2;printf("c1%d\n&…

全球二氧化碳排放数据1deg产品(ODIAC)数据

简介 全球二氧化碳排放数据1deg产品(ODIAC)是一个空间分辨率为1deg*1deg的全球化石燃料燃烧产生的二氧化碳空间分布产品。它率先将基于空间的夜间灯光数据与单个发电厂的排放/位置相结合来估计化石燃料二氧化碳的排放。该产品被国际研究界广泛用于各种研究应用&#xff08;例如…

前端(十九)——vue/react脚手架的搭建方式

&#x1f604;博主&#xff1a;小猫娃来啦 &#x1f604;文章核心&#xff1a;前端&#xff08;十九&#xff09;——vue/react脚手架的搭建方式 文章目录 前言Vue脚手架搭建方法Vue CLI脚手架Vite脚手架其他方式 React脚手架搭建方法Create React App脚手架Vite脚手架其他方式…

音频抓取代码示例

以下是一个使用DefaultsKit库的简单爬虫程序&#xff0c;用于爬取音频。代码中使用了https://www.duoip.cn/get_proxy的API获取代理服务器。 import Foundation import DefaultsKit ​ let url "https://www.douban.com/music" // 目标网站URL let proxyUrl "…

02、Python ------- 简单爬取下载小视频

简单爬取小视频 1、装模块 按键盘 winr 输入cmd , 输入命令&#xff1a; pip install requests 也有说在这个目录下面执行命令 pip install requests 执行失败 执行如果失败&#xff0c;在命令后面添加镜像 pip install requests -i https://mirrors.aliyun.com/pypi/sim…