遇一山,过一山,处处有风景;只要勇敢向前,一路尽是繁花盛开。 | (点击查看→)【测试干货】python/java自动化、持续集成、性能、测开、简历、笔试面试等

Git必知必会基础(03):Git本地仓库操作

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/10854115.html

什么是本地仓库

本地仓库位于本地工作区的隐藏目录 .git中,它包含了项目的完整历史记录和所有版本的文件;

.git不算工作区,而是 Git 的版本库。

 

常用命令汇总

下面是本地仓库常用命令

命令

作用

备注

git init

初始化本地Git仓库(项目)

会在当前目录中创建—个.git目录,用于记录所有的版本变更信息

git status

查看本地仓库的文件状态

显示工作目录和暂存区的状态,能看到那些修改被暂存到了,哪些没有,哪些文件没有被 Git tracked 到

git add 文件路径

将文件添加到跟踪列表(暂存区),交由git托管

-A 或 --all或 . 表示添加所有文件,也可以使用*进行匹配,比如*.java

文件路径可以是文件也可以是目录

git commit

将跟踪列表中(暂存区)的文件提交到本地仓库

-m指定提交日志,方便后续查看提交或改动记录

git log

用于查看提交历史(commit的记录,也就是提交日志,包含完整版本号、作者、日期、comments),显示的顺序是由近到远,也就是最新的修改在上面

概要显示:git log --oneline,一行展示每次日志,内容仅含7位版本号、comments

查看最近n次的提交:git log -n,n是数字

查看指定作者的提交,如果没有,就显示空:git log --author xxx

查看分支合并图:git log --graph,结果左侧可以看到分支合并图;git log --graph --oneline,一行展示每次日志

显示最近n次提交的差异:git log -p -n,n是数字

git reflog

查看所有操作记录

包括被回退的版本id、reset操作等

git reset --hard 版本id

回退到指定版本

HEAD表示当前的版本

 

说明:所有命令都必须在Git仓库的根目录下执行,也就是.git同级目录操作,否则会报错:

 

文件状态

Git文件的四种状态:

  untracked:未跟踪,表示文件不受git管理,显示为:Untracked files

  staged:已暂存,表示对已修改文件的当前版本做了标记,显示为:Changes to be committed

  committed:已提交,表示文件已经被提交到本地仓库

  modified:已修改,表示文件内容已被修改,但没有对已修改文件的当前版本做标记,显示为:Changes not staged for commit

 

命令操作

初始化仓库

创建项目目录:mkdir pytest_apiautotest

 

初始化:git init,然后显示的分支是master

 

目录下多了.git目录,将当前的目录交由Git进行管理,用于记录所有的版本变更信息,HEAD文件记录了当前分支

 

补充:上面提示信息是说要配置全局默认分支

hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in D:/ren/code/pytest_apiautotest/.git/

 

设置默认分支为master级别:git config --global init.defaultBranch master

 

查看状态、添加暂存区、提交到本地仓库

查看状态:git status,还没任何新增修改

 

新增文件:touch qzcsbj.txt

 

添加到暂存区:git add qzcsbj.txt

 

提交到本地仓库:git commit -m "add qzcsbj.txt"

1个文件改变,0行新增,0行删除

 

更新并提交到本地仓库

编辑文件:vim qzcsbj.txt

文件内容如下:

 

查看状态:git status

Changes not staged for commit:未暂存以供提交的更改

 

添加到暂存区:git add *.txt

 

提交到本地仓库:git commit -m "modify qzcsbj.txt"

1个文件改变,1行新增

 

修改文件内容

 

提交到本地仓库

1个文件改变,3行新增,1行删除

 

查看日志

git log

显示的顺序是由近到远

显示的log的含义:

commit id,每个id都是唯一的

Author,初始化时候的配置信息,作者及邮箱

Date,提交日期

xxx,commit -m的提交说明

 

git log --oneline,仅含7位版本号、comments

 

回退

git reset --hard  c7844cd350d943dd8ff5486e122c4cde419b7322

 

只看到两个版本了

 

git reflog,前七位是版本简写

 

git reset --hard 50ca458

 

 

 

posted @ 2024-01-17 22:00  全栈测试笔记  阅读(766)  评论(0编辑  收藏  举报
浏览器标题切换
浏览器标题切换end