Git是一个分布式版本控制系统,在it工作里面一定会用到这个,所以今天来记录一下使用教程
①已修改 (modified)
表示修改了文件,但还未将修改的结果放入暂存区
②已暂存 (staged)
表示对已修改的文件的当前版本做了标记,使之包含在下次提交的列表中
③已提交(committed)
表示文件已经安全的保存在本地的Git仓库中
------------------------------------------------
① 在工作区中修改文件
② 将你想要下次提交的更改进行暂存
③ 提交更新,找到暂存区的文件,将快照永久性存储到Git仓库中
------------------------------------------------
例子:设置全局的用户名
git config --global user.name "liweihao"
如果使用了--global 选项,那么命令只需运行一次即可永久生效
------------------------------------------------
查看所有的全局配置项
git config --list --global
查看指定的全局配置项
git config user.name
------------------------------------------------
获取帮助信息
git help config
或者
git config -h
------------------------------------------------
Git的基本操作
1.获取Git仓库 的两种方式
① 将尚未进行版本控制的本地目录转换成Git仓库
② 从其它服务器克隆一个已存在的Git仓库
在现有的目录中初始化仓库
① 在项目目录中,通过鼠标右键打开 "Git Bash Here"
② 执行 git init命令 将当前的目录转化为仓库
git init 命令会创建一个.git的隐藏目录,这个目录就是当前项目的Git仓库,里面包含了初始的必要文件,这些文件是Git仓库的必要组成部分。
git init
工作区中的文件有4种状态
4种状态分为两类
一类 未被Git管理
① 未跟踪(Untracked)不被Git所管理的文件
二类 已被Git管理
① 未修改(Unmodified)工作区中的文件内容和Git仓库中的文件内容保持一致
② 已修改(Modified)工作区中的文件内容和Git仓库中的文件内不一致
③ 已暂存(Staged)工作区中被修改的文件已被放到暂存区,准备将修改后的文件保存到Git仓库
注意:!! Git操作的终极结果 就是让工作区中的文件都处于未修改的状态
-----------------------------------------------------------------
检查文件的状态
git status
或简单版
git status -s
返回结果的开头
?? 代表未跟踪
A 代表新添加到暂存区的文件
M 代表已修改但未放入暂存区
M 代表已修改,已放入暂存区
D 表示被删除
-------------------------------------------------------------------
git add 是一个多功能的命令,主要功能 有三个功效
① 可以用它开始跟踪新文件
② 把已跟踪,且已修改的文件放到暂存区
③ 把有冲突的文件标记为已解决的状态
git add index.html
index.html 是当前目录的文件名
git add .
-------------------------------------------------------------------
clear
-------------------------------------------------------------------
git commit -m "我是一个备注"
git commit -a -m "我是一个描述信息"
---------------------------------------------------------
git checkout -- index.html
index.html 是要被撤销修改的文件
-------------------------------------------------------------------
git reset HEAD index.html
git reset HEAD .
---------------------------------------------------
从Git仓库和工作区中同时移除对应文件
git rm -f index.html
从Git仓库中移除指定文件,但保留工作区中的对应文件
git rm --cached index.html
----------------------------------------------------
一般我们总会有些文件无需纳入Git的管理,也不希望他们总出现在未跟踪文件列表,在这种情况下我们可以创建一个名为 .gitignore的配置文件,列出忽略文件的匹配模式
(注意在window系统下,会提示创建文件名不能为空,所以创建的时候打 .gitignore. 就会生成这个文件 前后都是点)
.gitignore文件的格式规范
① 以#开头的是注释
② 以/结尾的是目录
③ 以/开头的是防止递归
④ 以!开头的表示取反
⑤ 可以使用glob模式进行文件和文件夹的匹配
#忽略所有a文件
*.a
#但跟踪所有lib.a 即使在前面忽略了a文件
!lib.a
#只忽略当前目录下的TODO文件,而不忽略其他目录下的TODO
/DOTO
#忽略任何目录下名为build的文件夹
buid/
#忽略doc/notes.txt, 但不忽略doc/server/arch.txt
doc/*.txt
#忽略doc/目录及其所有子目录下的.pdf文件
doc/**/*.pdf
--------------------------------
git log
git log -2
git log -2 --pretty=oneline
git log -2 --pretty=format:"%h | %an | %ar | %s"
%h 代表提交的简写哈希值
%an 代表作者名字
%ar 代表修订日期(多久之前)
%s 代表提交说明备注
git reflog --pretty=oneline
----------------------------------------------------------------
git reset --hard 版本id
版本ID就是上面历史记录获取到的哈希值
好了暂时写这么多,如果对您有帮助,请您收藏点关注
【博学谷学习记录】超强总结,用心分享