git代码备份

终端备份常用指令

git reflog                                    //查看更新

git add filename                        //提交修改

git commit -m "20240825修改" //备注修改

git reset --hard 1094a               //回退版本

exit                                            //关闭终端

Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)


目录

终端备份常用指令

一、初始化创建一个git【当前代码有git备份 就不要初始化了】

二、【代码备份】增加一个节点

三、增加一个分支

四、切换到某个节点

五、回滚代码

5.1 使用 git reset

5.2 使用 git revert

六、常用指令

设置 Git  loger


一、初始化创建一个git【当前代码有git备份 就不要初始化了

要初始化一个新的 Git 仓库,以下是基本的步骤和命令:

  1. 创建新的 Git 仓库: 首先,进入你想要存放项目的目录。例如,创建一个名为 my_project 的新目录并进入:

    mkdir my_project 
    cd my_project
  2. 初始化 Git 仓库: 在该目录下,运行以下命令来初始化一个新的 Git 仓库:

    git init

    Terminal 输入:

    git config --global user.email “you@example.com”

    git config --global user.name “Your Name”

    ————————————————

    版权声明:本文为CSDN博主「weixin_47726314」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/weixin_47726314/article/details/108788444

  3. 这会在当前目录下创建一个 .git 的子目录,用来存放 Git 版本控制系统的相关文件。

  4. 添加文件并提交: 现在,可以开始将项目文件添加到 Git 仓库中,并进行首次提交:

    # 假设你已经有一些文件需要添加
    touch README.md                  # 创建一个示例文件 README.md 
    git add README.md                # 将文件添加到暂存区 
    git commit -m "Initial commit"   # 提交并添加提交信息

    这样就完成了对 README.md 文件的添加和提交。

  5. 配置用户信息(可选): 如果你是第一次使用 Git,或者还没有配置用户信息,可以设置你的用户名和电子邮件地址。这些信息会包含在每个提交中:

    git config --global user.name "Your Name" git config --global user.email "your_email@example.com"
  6. 添加远程仓库(可选): 如果你希望将本地仓库与远程仓库关联【公司里不要用哦】,可以使用以下命令添加远程仓库地址:

    git remote add origin remote_repository_url

    其中 remote_repository_url 是远程仓库的 URL 地址。例如:

    git remote add origin https://github.com/username/my_project.git
  7. 推送到远程仓库(可选): 如果已经设置了远程仓库,可以将本地的提交推送到远程仓库:

    git push -u origin main

    这会将本地的 main 分支(或者是你当前使用的分支)推送到远程仓库。

通过以上步骤,你就成功地初始化了一个新的 Git 仓库,并进行了首次的提交。接下来,你可以继续添加文件、进行更多的提交,并使用 Git 的其他功能管理你的项目版本。

二、【代码备份】增加一个节点

要在 Git 中增加一个节点,通常是指创建一个新的提交。以下是创建一个新提交的基本步骤:

  1. 修改文件或添加新文件: 首先,在你的项目中进行文件的修改或者添加新文件。

  2. 将修改或新文件添加到暂存区: 使用 git add 命令将你的修改或新文件添加到 Git 的暂存区中。例如:

    git add filename

    filename 增加备份的文件名

  3. 或者添加所有修改:

    git add .
  4. 提交修改 使用 git commit 命令创建一个新的提交。提交时建议附带一条简短的提交消息,以便描述本次提交的内容。例如:

git commit -m "Add new feature ABC"
  1. 推送到远程仓库(如果需要): 如果你的项目是与远程仓库(如 GitHub、GitLab 等)关联的,并且你想将新提交推送到远程仓库,可以使用 git push 命令。例如:

    git push origin main  //公司里就不要使用了

    这里假设你要推送到名为 origin 的远程仓库的 main 分支。具体分支名称可能因项目设置而异。

这样就完成了在 Git 中增加一个新节点(即一个新的提交)。记住,在进行提交之前,最好先使用 git status 命令查看当前状态,确保修改已经正确添加到了暂存区。

git status

三、增加一个分支

要在 Git 中增加一个新的分支,你可以按照以下步骤操作:

  1. 查看当前分支状态: 首先,使用 git branch 命令查看当前分支状态。这会列出所有本地存在的分支,并且会标注出当前所在的分支(通常会有一个 * 号标记)。

    git branch
  2. 创建新分支: 使用 git branch 命令创建一个新分支。例如,假设你要创建一个名为 new-feature 的新分支,可以这样做:

    git branch new-feature
  3. 切换到新分支(可选): 如果你想立即切换到新创建的分支,可以使用 git checkout 命令:

    git checkout new-feature

    或者,如果你使用较新版本的 Git(推荐),可以使用 git switch 命令切换到新分支:

    git switch new-feature

    如果你希望在创建分支的同时切换到新分支,可以使用 -b 选项:

    git checkout -b new-feature

    或者:

    git switch -c new-feature

    这些命令将创建一个名为 new-feature 的新分支,并将工作目录切换到这个新分支上。

  4. 进行修改和提交: 在新分支上进行你的修改和开发工作。你可以添加、修改文件,并将这些更改提交到新分支上。

  5. 推送新分支到远程仓库(可选): 如果你希望将新分支推送到远程仓库,可以使用 git push 命令。例如,假设你要将 new-feature 分支推送到名为 origin 的远程仓库:

    git push origin new-feature

    这将把本地的 new-feature 分支推送到远程仓库中。

四、切换到某个节点

要在Git中切换到某个节点(commit),可以使用以下命令:

git checkout <commit-hash>

其中 <commit-hash> 是你要切换到的节点的哈希值或者是分支名

git checkout <commit-hash> -- <file-name>

如果你只是想查看某个节点的内容而不切换工作目录,可以使用:

这会将指定文件 <file-name> 恢复到 <commit-hash> 节点的状态,但不会改变当前工作目录的状态。

需要注意的是,切换到历史节点会使得你处于“分离头指针”状态,这意味着你不能直接在该状态下进行提交,需要创建分支才能保存修改。

切换完了 还能回到最新的嘛

当你使用 git checkout <commit-hash> 切换到历史节点时,可以随时回到最新的状态。有几种方法可以做到这一点:

  1. 切换回最新的分支:如果你知道你切换前所在的分支名,可以直接切换回该分支。例如:

    git checkout main

    这将使你回到 main 分支的最新状态。

  2. 使用 git checkout - 命令:这个命令会切换到你之前所在的分支或者状态。例如:

    git checkout -

    这会使你回到之前的分支,包括你切换之前的最新状态。

  3. 创建临时分支:如果你不确定之前的分支名,或者想在历史状态上工作而不影响当前分支,可以创建一个临时分支。例如:

    git checkout -b temp-branch

    这会在当前所处的历史节点上创建一个名为 temp-branch 的新分支。你可以在这个分支上继续工作或者随时切换回其他分支。


    五、回滚代码

    5.1 使用 git reset

软重置(Soft Reset)

  1. git reset --soft HEAD^

    这会将 HEAD 指针和暂存区回滚到前一个提交,但工作目录中的文件不会受影响。你可以在此基础上进行修改后重新提交。

混合重置(Mixed Reset)

  1. git reset --mixed HEAD^

    这是默认的重置模式,它将 HEAD 指针、暂存区和工作目录都回滚到前一个提交,但不会删除工作目录中的文件。

硬重置(Hard Reset)

  1. git reset --hard HEAD^

    这是最彻底的重置模式,它将 HEAD 指针、暂存区和工作目录都回滚到前一个提交,并删除工作目录中未提交的更改。

    5.2 使用 git revert
    git revert HEAD

    git revert 是一种撤销提交的方法,它创建一个新的提交,该提交撤销了指定提交的更改。这样可以保留提交历史,并且不会修改已有的提交。

    git reset --hard 1094a 

六、常用指令

1.git根目录下

右键打开终端

2.输入常用指令

git reflog //查看更新
git loger  //结点树git add filename //提交修改文件名filenamegit commit -m "20240825修改" //备注修改git reset --hard [分支名] //回退版本
  1. 提交你的修改: 如果你希望保留当前的修改,可以先提交它们到当前分支:

    git add .   //全部备份
    git commit -m "Committing changes before branch switch"  //添加备份注释
  2. 然后再尝试切换分支:

    git checkout branch
  3. 储藏(stash)你的修改: 如果你暂时不想提交这些修改,可以使用 Git 的储藏功能,将修改暂时保存起来:

    git stash

    这会将当前的修改保存到 Git 的储藏区域中。然后你可以切换到其他分支:

    git checkout Bbranch

    完成切换后,如果需要,可以再从储藏区恢复修改:

    git stash apply

    或者从储藏区中移除这些修改:

    git stash drop

  4. 根据你的需求选择其中一种方法,并根据提示执行相应的 Git 命令,即可解决切换分支时出现的问题。

  5. 放弃修改: 如果你不需要保留当前的修改,可以放弃这些修改,回到上次提交的状态。请注意,这会永久丢失未提交的更改:

    git reset --hard HEAD

    然后再切换分支:

    git checkout Abranch


设置 Git  loger

git config --global alias.loger "log --color --graph --date-order --all --pretty='%C(red bold)%h%Creset %C(cyan)%cd %C(magenta)<%cn>%Creset %Cgreen(%cr)%Creset %C(yellow) %d%n        %s%n' --date=format:'%Y-%m-%d %H:%M:%S'"

使得在执行 git loger 命令时能够按照指定的格式输出日志信息:

  • git config --global alias.loger: 这部分告诉 Git 在全局配置中为 loger 设置一个别名。
  • "log --color --graph --date-order --all --pretty=...": 这是实际执行的 Git 命令。具体来说:

    • log: 显示提交日志。
    • --color: 启用彩色输出。
    • --graph: 以图形化方式显示提交历史。
    • --date-order: 按日期顺序显示提交。
    • --all: 显示所有分支的提交历史。
    • --pretty='%C(red bold)%h%Creset %C(cyan)%cd %C(magenta)<%cn>%Creset %Cgreen(%cr)%Creset %C(yellow) %d%n %s%n': 指定输出格式,其中各种 %C(...)%Creset 是用来设定文本颜色的格式控制符,具体含义如下:
      • %C(red bold)%h%Creset: 提交的简短哈希值,红色粗体显示。
      • %C(cyan)%cd: 提交日期,青色显示。
      • %C(magenta)<%cn>%Creset: 提交者名字,洋红色显示。
      • %Cgreen(%cr)%Creset: 相对提交时间,绿色显示。
      • %C(yellow) %d: 分支信息,黄色显示。
      • %n %s%n: 提交信息,前后各一个换行显示。
    • --date=format:'%Y-%m-%d %H:%M:%S': 指定日期的格式为 YYYY-MM-DD HH:MM:SS

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

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

相关文章

【深入理解SpringCloud微服务】深入理解Eureka核心原理

深入理解Eureka核心原理 Eureka整体设计Eureka服务端启动Eureka三级缓存Eureka客户端启动 Eureka整体设计 Eureka是一个经典的注册中心&#xff0c;通过http接收客户端的服务发现和服务注册请求&#xff0c;使用内存注册表保存客户端注册上来的实例信息。 Eureka服务端接收的…

FPGA-ROM IP核的使用

1.理论 ROM全称&#xff1a;Read-Only Memory&#xff0c;也就是只读型固态半导体存储器&#xff0c;即一旦存储信息&#xff0c;无法再改变&#xff0c;信息也不会因为电源关闭消失。但在FPGA中&#xff0c;实际使用的ROM IP核并不是真正的ROM&#xff0c;其实都是内部的RAM资…

spring security如何适配盐存在数据库中的密码

19.token认证过滤器代码实现_哔哩哔哩_bilibili19.token认证过滤器代码实现是SpringSecurity框架教程-Spring SecurityJWT实现项目级前端分离认证授权-挑战黑马&尚硅谷的第20集视频&#xff0c;该合集共计41集&#xff0c;视频收藏或关注UP主&#xff0c;及时了解更多相关视…

24年支付行业概况与未来

​ 一、行业背景介绍 支付行业作为现代金融体系的基石&#xff0c;正经历着前所未有的变革。随着科技的发展和人们对便捷支付方式的需求不断提高&#xff0c;支付行业在近年来得到了迅猛发展。在我国&#xff0c;支付行业经过多年的发展和市场竞争&#xff0c;已经形成了多元化…

Navicat 17 新特性 | Navicat BI 功能革新升级,助力企业深度挖掘数据潜能

随着 Navicat 17 的发布&#xff0c;在业界引起了广泛的共鸣与热议。我们曾深入剖析其众多革新特性&#xff0c;包括模型设计创新与优化、高效的查询与配置、用户界面交互体验再升级&#xff0c;原生适配国产平台和操作系统和数据字典提升数据结构清晰度&#xff0c;这些新特性…

【第12章】Spring Cloud之集成 Spring Cloud Gateway

文章目录 前言一、新建项目1. 项目结构2. 引入依赖3. 启动类4. 基本配置 二、新建配置三、新建服务1. 提供者2. 消费者 四、单元测试1. 启动网关服务2. 提供者3. 消费者 总结 前言 Spring Cloud Gateway是一个基于Spring Framework 5、Spring Boot 2和Project Reactor等技术构…

python的csv库常用操作

csv 模块是 Python 标准库中的一个模块&#xff0c;用于处理 CSV&#xff08;逗号分隔值&#xff09;文件。它提供了简单易用的功能来读取和写入 CSV 文件。以下是一些常用的操作&#xff1a; 一、读取 CSV 文件 新建文件data.csv&#xff0c;内容如下&#xff1a; 使用 csv.…

浪潮自研交换机系列常见问题处理

CN61108PC-V-H 不能PING通任何地址&#xff0c;也不能被PING 输入ip traceroute enable既可。注意视图 交换机通过console口远程登录至其他交换机&#xff0c;掉线后console口无法使用 例如有2台交换机A和B&#xff0c;在A交换机上插上console线登录后&#xff0c;在A通过SSH…

nodejs安装及环境配置建材商城管理系统App

✌网站介绍&#xff1a;✌10年项目辅导经验、专注于计算机技术领域学生项目实战辅导。 ✌服务范围&#xff1a;Java(SpringBoo/SSM)、Python、PHP、Nodejs、爬虫、数据可视化、小程序、安卓app、大数据等设计与开发。 ✌服务内容&#xff1a;免费功能设计、免费提供开题答辩P…

如何应对Android面试官 -> 常用数据结构如何进行优化

前言 本章我们开始讲解性能优化相关的话题&#xff0c;首先我们来看下数据结构如何优化&#xff1a; 性能优化 性能优化的本质&#xff1a;线上 APM 的性能监控&#xff0c;而性能监控通常是以下技术点 ByteCode、Hook&#xff08;PLT Hook&#xff09;、JS注入&#xff08;采…

tslib 库-I.MX6U嵌入式Linux C应用编程学习笔记基于正点原子阿尔法开发板

tslib 库 tslib 简介 tslib 库&#xff0c;这是 Linux 系统下&#xff0c;专门为触摸屏开发的应用层函数库&#xff0c;开源 功能与作用&#xff1a;作为触摸屏驱动和应用层之间的适配层&#xff0c;封装了读取和解析触摸屏数据的复杂过程&#xff0c;提供API接口 数据处理&…

c++ 高精度加法(只支持正整数)

再给大家带来一篇高精度&#xff0c;不过这次是高精度加法&#xff01;话不多说&#xff0c;开整&#xff01; 声明 与之前那篇文章一样&#xff0c;如果看起来费劲可以结合总代码来看 定义 由于加法进位最多进1位&#xff0c;所以我们的结果ans[]的长度定义为两个加数中最…

零基础学SpringBoot(一)--初识SpringBoot

1. SpringBoot简介 SpringBoot 是Spring家族中的一个全新的框架&#xff0c;它用来简化Spring应用程序的创建和开发过程&#xff0c;也可以说Spring Boot能简化我们之前采用SSM(SpringMVC Spring MyBatis)框架进行开发的过程。 以前我们采用SSM框架进行开发的时候&#xff0c…

vue3前端开发-小兔鲜项目-二级分类页面无限加载的实现

vue3前端开发-小兔鲜项目-二级分类页面无限加载的实现&#xff01;实际的项目开发中&#xff0c;经常会遇到这需求。产品内容庞大&#xff0c;但是用户不可能一次性全部都加载请求的。当客户向下滚动&#xff0c;触碰到插件的底部时&#xff0c;会再次申请下一页内容。这样就会…

Adobe国际认证详解-动漫制作专业就业方向和前景

动漫制作专业的就业方向和前景随着创意产业的蓬勃发展而愈发广阔。这一专业涵盖了从角色设计、场景绘制到动画制作、特效合成等多个环节&#xff0c;是创意与技术相结合的典型代表。随着数字媒体和互联网的普及&#xff0c;动漫制作专业人才的需求正不断增长&#xff0c;为该专…

2024 杭电多校第一场

目录 目录 树 博弈 传送 树 给一棵根为 1 的有根树&#xff0c;点 i 具有一个权值 Ai 。 定义一个点对的值 f(u,v)max(Au,Av)|Au−Av| 。 你需要对于每个节点 i &#xff0c;计算 ansi∑u∈subtree(i),v∈subtree(i)f(u,v) &#xff0c;其中 subtree(i) 表示 i 的子树。 请…

Vscode离线下载对应版本的ms-python.vsix

一、查看vscode的版本号和发行时间 vscode界面中Help-About查看版本号和发行时间&#xff0c;ms-python的发行时间需要和这个时间相近&#xff1a; 二、在github仓库中查看ms-python有什么版本&#xff0c;以及发行时间 github仓库路径 https://github.com/microsoft/vsco…

虚幻引擎,体积雾、体积光、镜头泛光

1、体积雾 这里介绍的是用于地面的体积雾效果&#xff0c;效果如图1-1&#xff1a; 图1-1 首先&#xff0c;需要场景中存在指数级高度雾并开启体积雾&#xff08;如图1-2&#xff09;。然后创建材质&#xff0c;材质域选择“体积”&#xff0c;混合模式选择“Additive”。材质节…

shell脚本中for循环和while循环

目录 for循环 while 循环 前面说完了if判断语句&#xff0c;现在该来学习shell脚本中的另一个重点内容了&#xff0c;那就是循环语句。循环语句分为 for 循环和 while 循环&#xff0c;二者本质上来说是没有太大区别&#xff0c;但针对不同的情况&#xff0c;使用不同的语句可…

【Git-常用命令】一文搞懂学会git的常用命令以及使用技巧

【Git-常用命令】一文搞懂学会git的常用命令以及使用技巧 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容文档关注&…