专业编程基础技术教程

网站首页 > 基础教程 正文

Git 中的 Reset 与 Checkout(git reset current branch to here)

ccvgpt 2024-07-18 12:46:23 基础教程 6 ℃

1.Devops介绍

01.Devops是什么

Git 中的 Reset 与 Checkout(git reset current branch to here)

开发:development

运维:operations

02.Devops能干嘛

提高产品质量

01.自动化测试

02.持续集成

03.代码质量管理工具

04.程序员鼓励师

03.Devops如何实现

既然这么好?为什么有些公司没有

设计架构规划-代码的存储-构建-测试、预生产、部署、监控

2.Git版本控制系统

01.版本控制系统简介

vcs `version control system`

版本控制系统是一种记录一个或若干个文件内容变化,以便将来查阅特定版本内容情况的系统

记录文件的所有历史变化

随时可恢复到任何一个历史状态

多人协作开发

02.为什么需要版本控制系统

03.常见版本管理工具

SVN

集中式的版本控制系统,只有一个中央数据仓库,如果中央数据仓库挂了或者不可访问,所有的使用者无法使用SVN,无法进行提交或备份文件。

Git

分布式的版本控制系统,在每个使用者电脑上就有一个完整的数据仓库,没有网络依然可以使用Git,当然为了习惯及团队协作,会将本地数据同步到Git服务器或者Github等代码仓库。

04.牛逼的人不需要解释这句话被LINUX展现的淋漓尽致

年轻时的托瓦兹

3.Git安装

01.系统环境准备

[root@git ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[root@git ~]# uname -r #查看内核版本信息

3.10.0-862.el7.x86_64

[root@git ~]# getenforce #确认Selinux是否关闭

Disabled

[root@git ~]# systemctl stop firewalld

02.Git部署安装

[root@git ~]# yum install -y git

[root@git ~]# rpm -qa git #检查是否安装成功

git-1.8.3.1-23.el7_8.x86_64

[root@git ~]# git config

--global 使用全局配置文件

--system 使用系统级配置文件

--local 使用版本库级配置文件

[root@git ~]# git config --global user.name "abin" #配置git使用用户

[root@git ~]# git config --global user.email "abin@mail.com" #配置git使用邮箱

[root@git ~]# git config --global color.ui true #语法高亮

[root@git ~]# git config --list

user.name=abin

user.email=abin@mail.com

color.ui=true

03.Git初始化

初始化工作目录,对已存在的目录或者对已存在的目录都可进行初始化

mkdir git_data
 cd git_data/
 #初始化
 git init
 [root@git ~/git_data]# ll -a
 total 4
 drwxr-xr-x 3 root root 18 Jul 2 18:32 .
 dr-xr-x---. 7 root root 4096 Jul 2 18:32 ..
 drwxr-xr-x 7 root root 119 Jul 2 18:32 .git #有此目录说明已经是仓库
 #查看工作区状态
 git status
 隐藏文件介绍:
 branches #分支目录
 config #定义项目特有的配置选项
 description #仅供git web程序使用
 HEAD #指示当前分支
 hooks #包含git钩子文件
 info #包含一个全局排除文件(exclude文件)
 objects #存放所有数据内容,有info和pack两个子文件夹
 refs #存放指向数据(分支)的提交对象的指针
 index #保存暂存区信息,在执行git init的时候,这个文件还没有
 
 [root@git ~/git_data]# tree .git --git_data/工作目录
 .git
 ├── branches
 ├── config
 ├── description
 ├── HEAD
 ├── hooks
 │ ├── applypatch-msg.sample
 │ ├── commit-msg.sample
 │ ├── post-update.sample
 │ ├── pre-applypatch.sample
 │ ├── pre-commit.sample
 │ ├── prepare-commit-msg.sample
 │ ├── pre-push.sample
 │ ├── pre-rebase.sample
 │ └── update.sample
 ├── info
 │ └── exclude
 ├── objects --本地仓库
 │ ├── info
 │ └── pack
 └── refs --暂存区
 ├── heads --头部
 └── tags --指针标签
 
 9 directories, 13 files
 数据保存到本地仓库前要经过暂存区

4.Git常规使用

01.创建数据-提交数据

02.四种状态

03.git基础命令

 [root@git ~/git_data]# git status --查看工作区状态
 # 位于分支 master
 # 初始提交
 无文件要提交(创建/拷贝文件并使用"git add" 建立跟踪)
 [root@git ~/git_data]# git status
 # On branch master --位于分支 master
 #
 # Initial commit --初始提交
 #
 # Untracked files: --未跟踪的文件
 # (use "git add <file>..." to include in what will be committed)
 # --(使用"git add <file>..."以包含要提交的内容)
 # a
 # b
 # c
 nothing added to commit but untracked files present (use "git add" to track) --使用git add进行跟踪

将文件添加到暂存区

[root@git ~/git_data]# git add a --将a文件提交到暂存区
 [root@git ~/git_data]# tree .git
 .git
 ├── branches
 ├── config
 ├── description
 ├── HEAD
 ├── hooks
 │ ├── applypatch-msg.sample
 │ ├── commit-msg.sample
 │ ├── post-update.sample
 │ ├── pre-applypatch.sample
 │ ├── pre-commit.sample
 │ ├── prepare-commit-msg.sample
 │ ├── pre-push.sample
 │ ├── pre-rebase.sample
 │ └── update.sample
 ├── index --提交到暂存区以后出现index文件
 ├── info
 │ └── exclude
 ├── objects
 │ ├── e6
 │ │ └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
 │ ├── info
 │ └── pack
 └── refs
 ├── heads
 └── tags
 
 10 directories, 15 files
 
 [root@git ~/git_data]# git status
 # On branch master #位于分支 master
 #
 # Initial commit #初始提交
 #
 # Changes to be committed: #要提交的变更
 # (use "git rm --cached <file>..." to unstage) #撤出暂存区
 #
 # new file: a
 #
 # Untracked files:
 # (use "git add <file>..." to include in what will be committed)
 #
 # b
 # c

从暂存区撤出文件

[root@git ~/git_data]# git add a --将a文件提交到暂存区
 [root@git ~/git_data]# tree .git
 .git
 ├── branches
 ├── config
 ├── description
 ├── HEAD
 ├── hooks
 │ ├── applypatch-msg.sample
 │ ├── commit-msg.sample
 │ ├── post-update.sample
 │ ├── pre-applypatch.sample
 │ ├── pre-commit.sample
 │ ├── prepare-commit-msg.sample
 │ ├── pre-push.sample
 │ ├── pre-rebase.sample
 │ └── update.sample
 ├── index --提交到暂存区以后出现index文件
 ├── info
 │ └── exclude
 ├── objects
 │ ├── e6
 │ │ └── 9de29bb2d1d6434b8b29ae775ad8c2e48c5391
 │ ├── info
 │ └── pack
 └── refs
 ├── heads
 └── tags
 
 10 directories, 15 files
 
 [root@git ~/git_data]# git status
 # On branch master #位于分支 master
 #
 # Initial commit #初始提交
 #
 # Changes to be committed: #要提交的变更
 # (use "git rm --cached <file>..." to unstage) #撤出暂存区
 #
 # new file: a
 #
 # Untracked files:
 # (use "git add <file>..." to include in what will be committed)
 #
 # b
 # c

删除文件

1.先从暂存区撤回到工作区、然后直接删除文件
 git rm --cached c
 rm -f c
 2.直接从暂存区域同工作区域一同删除文件命令
 git rm -f b
 
 [root@git ~/git_data]# git commit -m "commit a" #提交到本地仓库
 [master (root-commit) 385b062] commit a
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 a
 create mode 100644 b
 [root@git ~/git_data]# git status
 # On branch master #位于分支 master
 # Untracked files: #无文件要提交,干净的工作区
 # (use "git add <file>..." to include in what will be committed)
 #
 # c
 nothing added to commit but untracked files present (use "git add" to track)
 [root@git ~/git_data]#

Tags:

最近发表
标签列表