【Git】P1 Git 基础
创始人
2024-05-29 10:10:29
0

Git 基础

  • Git 基本概念
    • 集中式版本控制工具 与 分布式版本控制工具
    • Git 下载与安装
    • Bash 初始设置
    • 创建本地仓库
    • Git 三区概念
  • 一个简单的提交流程
  • 更改文件后再次提交
  • git 实现版本切换
    • 查看提交日志
    • 设置 git 快捷键
    • 版本切换(一)
    • 版本切换(二)
  • 同文件夹下只想让部分文件 git 管理


千里之行,始于足下

Git 学习目标:

  1. git 基本概念
  2. git 工作流程
  3. git 常用命令
  4. git 代码托管
  5. idea 操作 git

Git 基本概念

git 的实际使用场景,为什么用 git?

  1. 防止电脑嘎嘣脆,啥啥都没了;
  2. 代码版本控制,突然发现错了好几个版本,咱还能恢复到之前的之前的之前的版本;代码回滚与还原;
  3. 协同开发,多个人同时维护同一个项目;
  4. 代码追溯,通过线上日志找到什么时候出的错

集中式版本控制工具 与 分布式版本控制工具

集中式版本控制工具:

版本库是存放在中央服务器,每个人工作时候必须联网,从中央服务器下载代码,修改后上传到中央服务器,提交到中央版本库。比如 SVNCVS,但是已经比较过时;

分布式版本控制工具:

每个人的电脑都是一个完整的版本库,工作时候无需联网,多人协作只需要各自的修改推给对方,就可以看到对方的修改了。比如 Git

虽然 git 也有共享版本库,但是 git 由于每个人的电脑都包含完整的版本库,所以不怕中央挂掉,挂了从任何一个电脑上上传即可。


Git 下载与安装

下载网址:https://git-scm.com/download/win

安装注意事项:(没有提到直接默认 next 即可)

选择英文地址:

在这里插入图片描述

给桌面加个图标:

在这里插入图片描述
默认 vim, 有关 vim 操作博文:https://blog.csdn.net/weixin_43098506/article/details/129336983

在这里插入图片描述

主干名,默认其为 master

默认选择第二个,第一个是只从 git bash 进入 git,第二个是可以从 bash 以及 第三方软件进入;

在这里插入图片描述

默认选择 ssh可执行文件,默认选择 https 传输后端,配置行尾转换,配置终端模拟器,全部默认;

恭喜安装完成!!!

推荐安装介绍博客:
https://www.cnblogs.com/kevinzhushrek/p/16092144.html


Bash 初始设置

Git GUI:Git 提供的图形界面工具;
Git Bash:Git提供的命令行工具;

安装完成后最重要一步是设置邮箱以及用户名;

打开 git bash,设置自己用户名以及邮箱

git config --global user.name "XU Hongduo"
git config --global user.email "xxxxxxx@hotmail.com"

检查自己设置好的用户名以及邮箱

git config --global user.name
git config --global user.email

创建本地仓库

自定义一个文件夹下,右键新建文件夹,命名英文,然后右键 Git Bash here,执行指令:

git init

在这里插入图片描述


Git 三区概念

在 Git 中,有三区概念,工作区,暂存区以及仓库。

工作区: 新创建未加到仓库中的文件;已加到仓库但是修改了没提交的文件;
暂存区: 提交到仓库之前的缓存区,工作区的文件通过 add 指令;
仓库: 进行版本控制的文件目录;

图片来源于黑马,仅用于学习


一个简单的提交流程

首先从工作区提交到暂存区

git add "test.txt"

可以查看状态

git status

在这里插入图片描述

然后从暂存区提交到仓库

git commit -m "first submit"
# first submit 为注释内容

再次查看状态

git status

在这里插入图片描述


更改文件后再次提交

对上述已提交的 test.txt 文件做更改,执行 status 查看状态

git status

在这里插入图片描述

重新提交并上传

git add .
git commit -m "second submit"

在这里插入图片描述
P.S. 少个 -m 里 t…


git 实现版本切换

查看提交日志

当一个文件多次提交后,可以查看日志

git log
git log --pretty=oneline
# 将提交的信息显示为一行
git log --pretty=oneline --abbrev-commit
# 将提交的信息显示为一行
# 使得输出的 commitId 更简短
git log --pretty=oneline --abbrev-commit --all
# 将提交的信息显示为一行
# 使得输出的 commitId 更简短
# 显示所有分支
git log --pretty=oneline --abbrev-commit --all --graph
# 将提交的信息显示为一行
# 使得输出的 commitId 更简短
# 显示所有分支
# 以图的形式显示(该图非图片,而是结构)

在这里插入图片描述

插播:最后一条指令太过于冗长,我们可以通过设置快捷键设置自创一条指令。


设置 git 快捷键

在用户目录下创建 .bashrc 文件,所谓用户目录,对于我的电脑为 C:\Users\xhong

touch .bashrc

打开 .bashrc 文件,然后配置日志 log 快捷键 以及 ll 快捷键

alias git-log="git log --pretty=oneline --abbrev-commit --all --graph"alias ll="ls -al"

在这里插入图片描述

保存退出,配置完成!!!


版本切换(一)

首先查看所有提交 log id

git log --pretty=oneline --abbrev-commit --all --graph
# 未设置快捷键
git-log
# 设置了快捷键

在这里插入图片描述

然后执行回退版本指令

git reset --hard beb4c4c

在这里插入图片描述

注意 beb4c4c 是我的一次 submit -m 的 id

再次查看文件,发现已经回滚到之前只有一行内容的情况。


版本切换(二)

如果我想回到回滚前的版本,但是 log 已经看不到回滚前的版本号了,怎么办?

git reflog

可以查看回滚记录,从而找回那个版本号

再次版本切换到回滚前的就可以

git reset --hard b133242

在这里插入图片描述

再次查看内容,发现又回到了两行的内容。


同文件夹下只想让部分文件 git 管理

问题描述

如果一个文件夹下我只有部分文件想通过 git 进行管理,该如何做???

案例解析

首先我们先初始化一个目录,然后创建两个文件 test.txt 以及 test1.a,

git init
touch test.txt
touch test1.a

我们首先查看有哪些文件被 git 管理

git status

在这里插入图片描述

我希望通过 git 对 test.txt 进行管理,而不对 test1.a 进行管理;

首先我们创建一个名为 .gitignore 的文件,用于记录当前文件夹中不被管理的文件名称;

touch .gitignore

通过 vim 打开.gitignore 文件

vim .gitignore

将不希望被 git 管理的文件名 test1.a 添加到 .gitignore 中

在这里插入图片描述

然后我们能再执行查看 git 状态命令,可以发现 test1.a 文件已经不被管理

在这里插入图片描述


下一节:
链接:

相关内容

热门资讯

描写家乡小河的英语作文(优选... Describing My Hometown River - Part OneMy Hometown...
5句话英语作文【经典5篇】 5句话英语作文 篇一Title: The Importance of ExerciseIn toda...
国家的英语作文【推荐3篇】 国家的英语作文 篇一My Country: A Land of Diversity and Unit...
描写夏天的英语作文200字(... 篇一:炎热的夏天夏天是一年中最炎热的季节,它给人们带来了无尽的欢乐和热情。在夏天里,阳光明媚,天空湛...
My friend英语作文(... My Friend 英语作文 篇一My Friend SarahI would like to in...
气候的英语作文(优选3篇) 气候的英语作文 篇一Title: The Impact of Climate Change on O...
英语作文书信格式【精简6篇】 英语作文书信格式 篇一Dear John,I hope this letter finds you ...
假期生活英语作文(最新3篇) 假期生活英语作文 篇一How I Spent My Summer VacationSummer va...
英语机构的老师寄语范文【精简... 英语机构的老师寄语范文 篇一尊敬的学生们:首先,我想对你们表达最诚挚的问候和祝福。作为你们的英语机构...
动物英语作文:My Pet【... 动物英语作文:My Pet 篇一My Pet - A Loyal CompanionI have a...
我的舞台优秀初中英语作文【精... 我的舞台优秀初中英语作文 篇一My StageEver since I was a little g...
介绍春节的英语作文(经典6篇... Introduction to Chinese New Year (Spring Festival)...
英语词语辨析:because... 英语词语辨析:because与 because of的区别  1. because 是连词,其后接句...
英文版《鲁滨逊漂流记》读后感... 英文版《鲁滨逊漂流记》读后感 篇一After finishing the English versi...
英语写作250字范文格式【经... 英语写作250字范文格式 篇一The Importance of Physical Exercise...
英语优秀作文【优选6篇】 英语优秀作文 篇一:The Power of ReadingIntroduction:Reading...
英语专业四级作文模版 英语专业四级作文模版  四六级作文模板  现象解释型模板一  1. Recently, ______...
描述父母感情起伏的英语句子【... 篇一:描述父母感情起伏的英语句子第一篇内容1. Love conquers all: A rolle...
改变自己的英语作文(优选3篇... 改变自己的英语作文 篇一如何提高英语写作水平英语写作是学习英语的重要组成部分,对于提高英语综合能力和...
珍爱生命拒闯红灯英语作文(精... 珍爱生命拒闯红灯英语作文 篇一Title: Importance of Obeying Traffi...