从0开始认识使用Git,最详细教程

Git是一个分布式版本控制系统,在it工作里面一定会用到这个,所以今天来记录一下使用教程

Git 有三种状态

①已修改 (modified

表示修改了文件,但还未将修改的结果放入暂存区

②已暂存 (staged

表示对已修改的文件的当前版本做了标记,使之包含在下次提交的列表中

③已提交(committed

表示文件已经安全的保存在本地的Git仓库中

------------------------------------------------

Git的工作流程

① 在工作区中修改文件

② 将你想要下次提交的更改进行暂存

③ 提交更新,找到暂存区的文件,将快照永久性存储到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

返回结果的开头

?? 代表未跟踪

代表新添加到暂存区的文件

M 代表已修改但未放入暂存区

M 代表已修改,已放入暂存区

D 表示被删除

-------------------------------------------------------------------

git add 是一个多功能的命令,主要功能 有三个功效

① 可以用它开始跟踪新文件

② 把已跟踪,且已修改的文件放到暂存区

③ 把有冲突的文件标记为已解决的状态

跟踪新文件 跟踪指定文件

git add index.html

index.html 是当前目录的文件名

跟踪新文件  跟踪全部文件

git add .

-------------------------------------------------------------------

将终端清屏

clear

-------------------------------------------------------------------

将暂存区的文件保存到Git仓库

git commit -m "我是一个备注"

将工作区中的文件 直接保存到Git仓库

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模式进行文件和文件夹的匹配

.gitignore 文件例子

#忽略所有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

--------------------------------

查看提交历史 

① 按时间先后顺序列出所有 最近的排上面 (按下q退出查看模式)

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就是上面历史记录获取到的哈希值

好了暂时写这么多,如果对您有帮助,请您收藏点关注

【博学谷学习记录】超强总结,用心分享

你可能感兴趣的:(【博学谷学习记录】超强总结,用心分享,git,github)