本系列汇总,请查看这里:https://www.cnblogs.com/uncleyong/p/10854115.html
常用命令汇总
下面是本地仓库常用命令
命令 |
作用 |
备注 |
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,结果左侧会有一条线 显示最近n次提交的差异:git log -p -n,n是数字 |
git reset --hard 版本id |
回退到指定版本 |
HEAD表示当前的版本 |
git reflog |
查看所有操作记录 |
包括被回退的版本id、reset操作等 |
说明:所有命令都必须在Git仓库的根目录下执行,也就是.git同级目录操作,否则会报错:
文件状态
Git文件的四种状态:
untracked:未跟踪,表示文件不受git管理,显示为:Untracked files
staged:已暂存,表示对已修改文件的当前版本做了标记,显示为:Changes to be committed
committed:已提交,表示文件已经被提交到本地仓库
modified:已修改,表示文件内容已被修改,但没有对已修改文件的当前版本做标记,显示为:Changes not staged for commit
命令操作
初始化仓库
创建项目目录:mkdir pytest_apiautotest
初始化:git init
目录下多了.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
忽略文件
可以在git仓库的根目录下添加—个名为.gitignore的文件,用于指定需要被git忽略的文件或文件夹
注意:
文件名必须是.gitignore
文件必须在项目的根目录下
每行指定—个忽略文件
以#开头的行表示注释
比如:java自动化中,target文件夹、.iml文件是不需要提交的 创建如果文件、文件夹
创建.gitignore文件,内容如下:
查看状态,未跟踪的文件中没有被添加到忽略文件中的内容
提交到本地仓库,仅显示创建了ren.txt和.gitignore两个文件
【bak】
标签:03,Git,文件,必知,仓库,git,提交,-- From: https://www.cnblogs.com/uncleyong/p/17964939