当前位置: 首页 > news >正文

关于github使用总结

文章目录

  • 一、本地使用git
    • (一)创建一个新的本地Git库
      • 首先在本地创建一个新的git仓库
      • 然后进行一次初始提交
      • 提交过后就可以查看提交记录
    • (二)在本地仓库进行版本恢复
      • 先执行 git log 查看项目提交历史
      • 使用 git checkout 恢复版本
  • 二、常用命令
      • 1. 查看当前分支
      • 2. 切换分支
      • 3. git暂存缓冲区
  • 三、使用过程中的问题总结
      • 1. 在git仓库中再次对其中一个子文件夹执行了git init
      • 2. 撤回上次推送到服务器的提交
      • (1)git revert
        • (2) git reset
      • 3. git推送失败:本地分支与远端分支存在分歧

一、本地使用git

(一)创建一个新的本地Git库

首先在本地创建一个新的git仓库

git init
  • 注:这个命令会在当前目录下创建一个隐藏的.git文件夹,这个文件夹就是 Git 用来存储版本控制信息的地方

然后进行一次初始提交

创建一个初始文件 readme.md,将其添加到暂存区

touch readme.md
git add readme.md

然后执行下述命令进行一次初始提交

git commit -m "Initial commit"
  • 注:双引号中的内容是提交信息,用于简要描述本次提交的内容、目的或相关说明

此时就会在本地仓库中创建一个初始版本记录,表明项目的初始状态已被保存下来

提交过后就可以查看提交记录

git log

(二)在本地仓库进行版本恢复

先执行 git log 查看项目提交历史

在这里插入图片描述

使用 git checkout 恢复版本

执行下述命令恢复到特定的版本

git checkout a1b2c3d4e5f6g7h8

工作目录就会被更新为该提交时的状态,包括文件内容、文件结构等

恢复分支到它的上一个已知的好的状态,使用 git checkout [分支名]

git checkout master

会将工作目录和索引更新为master分支的最新状态。

二、常用命令

1. 查看当前分支

git branch

打开终端,输入 git branch 命令。这会列出所有的分支,当前所在的分支前面会有一个星号(*)标记。

git status

输出会包含一行显示当前分支的信息

2. 切换分支

git checkout <分支名>

3. git暂存缓冲区

将当前的修改存入缓冲区
git stash从缓冲区中取出
git stash pop

三、使用过程中的问题总结

1. 在git仓库中再次对其中一个子文件夹执行了git init

这会形成一种嵌套仓库的情况
如果内部文件夹只是被错误地执行了git init,还没有进行实质性的版本控制操作(如没有添加文件、没有提交等),可以直接删除内部文件夹中的.git文件夹

2. 撤回上次推送到服务器的提交

(1)git revert

git revert <commit-id><commit-id> 为你想要撤销的提交的哈希值。

创建一个新的提交,这个提交是对之前提交的撤销。

操作流程:

git log
git revert <commit-id>
git push origin <branch-name>
(2) git reset

这种方法会修改提交历史

操作流程:

查看提交记录
git log撤销提交,但保留工作目录和暂存区的更改。
git reset --soft <commit-id><commit-id> 为你想要回退到的提交的哈希值。撤销提交和暂存区的状态,保留工作目录的更改(默认选项)
git reset --mixed <commit-id>完全撤销提交,包括工作目录、暂存区和历史记录的更改
git reset --hard <commit-id>将本地的更改强制推送到远程分支
git push -f origin <branch-name><branch-name> 为你的分支名称

3. git推送失败:本地分支与远端分支存在分歧

	git pull --no-rebase合并两个分支git push
http://www.dtcms.com/a/187756.html

相关文章:

  • GNU Screen 曝多漏洞:本地提权与终端劫持风险浮现
  • 集合-进阶
  • 生产排产系统正从传统计划工具向智能化、协同化方向演进
  • 安科瑞能量管理系统在徐州某电池厂新能源储能柜的应用
  • TDengine 做为 Spark 数据源
  • spark-local模式
  • Linux513 rsync本地传输 跨设备传输 一
  • openFeign远程调用
  • 中国版Cursor:基于CodeBuddy与EdgeOne Pages的在线键盘测试工具开发方案
  • 【C++】多线程和多进程
  • 【实战】基于 ABP vNext 构建高可用 S7 协议采集平台(西门子 PLC 通信全流程)
  • VR和眼动控制集群机器人的方法
  • Flannel Host-gw模式的优缺点
  • 生成式图像水印研究综述
  • 一键转换上百文件 Word 批量转 PDF 软件批量工具
  • C程序的存储空间分配
  • 【OpenCV】网络模型推理的简单流程分析(readNetFromONNX、setInput和forward等)
  • 大容量存储的高性能 T-BOX 方案对智能网联汽车的支撑
  • 汽车工厂数字孪生实时监控技术从数据采集到三维驱动实现
  • 数字孪生实时监控汽车零部件工厂智能化巡检新范式
  • 修改(替换)文件中的指定内容并保留文件修改前的时间(即修改前后文件的最后修改时间保持不变)
  • [学习] RTKLib详解:qzslex.c、rcvraw.c与solution.c
  • matlab多智能体网络一致性研究
  • Linux(1)编译链接和gcc
  • 动态域名服务ddns怎么设置?如何使用路由器动态域名解析让外网访问内网?
  • Vitrualbox完美显示系统界面(只需三步)
  • 【源码+文档+调试讲解】党员之家服务系统小程序1
  • 数据治理域——日志数据采集设计
  • k8s之k8s集群部署
  • 【漫话机器学习系列】257.填补缺失值(Imputing Missing Values)