> 文章列表 > 【Git】P1 Git 基础

【Git】P1 Git 基础

【Git】P1 Git 基础

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 即可)

选择英文地址:

【Git】P1 Git 基础

给桌面加个图标:

【Git】P1 Git 基础
默认 vim, 有关 vim 操作博文:https://blog.csdn.net/weixin_43098506/article/details/129336983

【Git】P1 Git 基础

主干名,默认其为 master

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

【Git】P1 Git 基础

默认选择 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】P1 Git 基础


Git 三区概念

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

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

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


一个简单的提交流程

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

git add "test.txt"

可以查看状态

git status

【Git】P1 Git 基础

然后从暂存区提交到仓库

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

再次查看状态

git status

【Git】P1 Git 基础


更改文件后再次提交

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

git status

【Git】P1 Git 基础

重新提交并上传

git add .
git commit -m "second submit"

【Git】P1 Git 基础
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】P1 Git 基础

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


设置 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"

【Git】P1 Git 基础

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


版本切换(一)

首先查看所有提交 log id

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

【Git】P1 Git 基础

然后执行回退版本指令

git reset --hard beb4c4c

【Git】P1 Git 基础

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

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


版本切换(二)

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

git reflog

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

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

git reset --hard b133242

【Git】P1 Git 基础

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


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

问题描述

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

案例解析

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

git init
touch test.txt
touch test1.a

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

git status

【Git】P1 Git 基础

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

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

touch .gitignore

通过 vim 打开.gitignore 文件

vim .gitignore

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

【Git】P1 Git 基础

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

【Git】P1 Git 基础


下一节:
链接:

读书笔记