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"
更新并提交到本地仓库
编辑文件: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
__EOF__
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!