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

【git】-初始git

一、什么是版本控制?

 二、Git的安装

三、掌握Linux常用命令

四、Git基本操作

1、提交代码  

 2、查看历史提交

3、版本回退


一、什么是版本控制?

        版本控制是一种用于记录文件或项目内容变化的系统。它通过版本标识和版本历史记录来管理不同版本,作用包括备份与恢复文件、支持团队协作开发、追踪文件变更情况。

        【想象你在写一个故事,每次修改内容的时候,版本控制会帮你把之前的版本保存下来,还会给每个版本做个标记,它可以当作备份。要是你不小心把故事写坏了或者弄丢了,就能回到之前写得好的版本。要是很多人一起写这个故事(协作),它能协调大家的修改,防止混乱。比如两个人同时改一个地方,它会提醒你们商量一下怎么改。而且它会把这个故事从最开始到现在的修改过程都记录下来,你可以看看这个故事是怎么一步步变成现在这样的。

        把记录放在自己电脑里(本地),放在一个大家都能访问的中心服务器上(集中式),每个人自己电脑上都有完整的记录(分布式)】

         

 二、Git的安装

官网 Git - 安装 Git

查看自己电脑系统是多少位的,下载对应版本

按如下勾选:

注意 箭头所致会将git bash gitgui关联到鼠标右键,安装后点击鼠标右键会出现:

 

 

 

 

检查是否安装成功:

单击鼠标右键,点击git bash 

显示版本信息则安装成功!

三、掌握Linux常用命令

Linux命令大全-CSDN博客

右击鼠标 点击Git Bash,可进行操作

需要注意的是:

cd操作

pwd

ls操作

创建目录【增】 mkdir

新建文件【增】touch

修改文件【改】 vi或vim

四、Git基本操作

1、提交代码  

 ①创建一个文件夹 EG:git_biedeni

 ②鼠标右击 选择git bash 开启命令客户端(在哪个文件夹进入的 目录就在哪个文件夹)

 ③创建本地仓库       git init

运行成功后生成一个git文件夹,git 文件夹中含有

 ④查看本地仓库状态 git status

 ⑤日常开发流程模拟

再次git status,第二行提示有未追踪的文件test.py,可以用git add将要提交的内容包含进来

 ⑥ 提交修改至缓存区 git add

        将⑤中新的修改文件test.py提交至缓存区

查看仓库状态:

⑦删除缓存区修改记录 git rm --cached

 ⑧提交版本 git commit 将缓存区 的修改提交到版本库

git add 将修改内容提交到缓存区-->git commit 提交至版本库

 ⑨  ⑧ 显示没有Author ,需要配置Git的用户信息 记录谁完成了当前提交

输出信息表明  “在 master 分支上完成了仓库的第一次提交(根提交),提交信息为 learn git。你创建了一个新文件 test.py,并在其中添加了 1 行代码。”

全部代码:


86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_
$ git init
Initialized empty Git repository in D:/learnning resourci/.git/86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_
$ ls -al
total 0
drwxr-xr-x 1 86153 197121 0 Jan 10 17:08 ./
drwxr-xr-x 1 86153 197121 0 Jan 10 17:07 ../
drwxr-xr-x 1 86153 197121 0 Jan 10 17:08 .git/86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetnothing to commit (create/copy files and use "git add" to track)86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ touch test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ vim test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetUntracked files:(use "git add <file>..." to include in what will be committed)test.pynothing added to commit but untracked files present (use "git add" to track)86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git add test.py
warning: in the working copy of 'test.py', LF will be replaced by CRLF the next time Git touches it86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetChanges to be committed:(use "git rm --cached <file>..." to unstage)new file:   test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$  git rm --cached test.py
rm 'test.py'86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch masterNo commits yetUntracked files:(use "git add <file>..." to include in what will be committed)test.pynothing added to commit but untracked files present (use "git add" to track)86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git add test.py
warning: in the working copy of 'test.py', LF will be replaced by CRLF the next time Git touches it86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git commit -m "learn git"
Author identity unknown*** Please tell me who you are.Rungit config --global user.email "you@example.com"git config --global user.name "Your Name"to set your account's default identity.
Omit --global to set the identity only in this repository.fatal: unable to auto-detect email address (got '86153@hhh.(none)')86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$  git config --global user.email 3328133482@qq.com86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git config --global user.name lxy86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git commit -m"learn git"
[master (root-commit) de3960d] learn git1 file changed, 1 insertion(+)create mode 100644 test.py86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$ git status
On branch master
nothing to commit, working tree clean86153@hhh MINGW64 /d/learnning resource-lxy/git操作/git_biedeni (master)
$

 2、查看历史提交

查看所有版本信息 git log

显示更详细信息 git log --stat 

直接看到某个版本具体修改内容 git log -p

简单快速的查看版本库情况 git reflog

提交了2个版本,head指针指向 learn git 2 (即为当前工作区所在版本)

3、版本回退

版本号的由来:

 当前工作区为版本6

git reset  --hard HEAD^   或者git reset  --hard HEAD^^ 回退至上一版回退至上一版

git reset  --hard HEAD~2 回退至上上一版

可见回退至版本5

也可git reset --hard 版本号回退至指定版本

总结

内容很基础,认识了git是干什么的和一些基本的git操作,主要是掌握一些命令!熟能生巧把


http://www.mrgr.cn/news/83354.html

相关文章:

  • (五)ROS通信编程——参数服务器
  • 【存储过程】Mysql的存储过程,语法及案例(详解)
  • CSS 盒模型
  • eNSP之家----ACL实验入门实例详解(Access Control List访问控制列表)(重要重要重要的事说三遍)
  • renben-openstack-使用操作
  • Windows11环境下设置MySQL8字符集utf8mb4_unicode_ci
  • 【git】-2 分支管理
  • mysql-运维sql
  • 2025年第三届“华数杯”国际赛B题解题思路与代码(Matlab版)
  • 熵与交叉熵:从不确定性角度理解 KL 散度
  • win32汇编环境,窗口程序中对按钮控件常用操作的示例
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Python版)
  • linux RT-Preempt spin lock实现
  • TVbox 手机、智能电视节目一网打尽
  • 2025年第三届“华数杯”国际赛A题解题思路与代码(Matlab版)
  • Ubuntu | PostgreSQL | 解决 ERROR: `xmllint` is missing on your system.
  • 初学stm32 --- DAC模数转换器工作原理
  • 2025年第三届“华数杯”国际大学生数学建模竞赛A题完整论文讲解
  • 嵌入式C语言:二维数组
  • LeetCode 热题 100 | 哈希
  • C#从“Hello World!“开始
  • JDK21虚拟线程死锁问题
  • 【Delphi 开箱即用 6】应用程序在任务栏中更换ico图标
  • ORB-SALM3配置流程及问题记录
  • kubeneters-循序渐进Cilium网络(二)
  • 二、智能体强化学习——深度强化学习核心算法