Git命令行操作分为本地库操作和远程库操作
本地库初始化
使用如下命令进行git本地库的初始化
git init
初始化的效果创建.git目录
.git目录中存放的是本地库相关的子目录和文件,不要删除也不要修改。
设置签名
形式:
用户名:HFR
Email地址:rhf0410@test.com
作用:区分不同开发人员的身份。
辨析:这里设置的签名和登录远程库(代码托管中心)的账号、密码没有任何关系。
命令:
项目级别/仓库级别:仅在当前本地库范围内有效。
git config user.name
git config user.email
系统用户级别:登录当前操作系统的用户范围。
git config --global user.name
git config --global user.email
优先级:就近原则。项目级别的优先于系统用户级别。
不允许二者都没有。
使用
cat .git/config
查看用户信息
查看工作区,缓存区的状态
git status
将工作区的添加/修改添加到暂存区。
git add [file name]
将文件从缓存区中删除
git rm --cache 文件名
将文件从缓存区提交到本地库
git commit 文件名
此时如果我们修改文件,在调用status会发现以下的变化。
如果想在提交的时候不进入vim编辑器,可以使用如下命令
git commit -m "commit message" good.txt
可以使用如下命令查看过往提交的版本
git log
执行效果如下
以一种漂亮的方式显示
git log --pretty=oneline
只显示一部分Hash值
git log --oneline
显示指针的移动值
git reflog
前进后退
基于索引值操作
使用^符号
使用~符号
使用索引值操作
git reset --hard [局部索引值]
使用^符号
只能往后,不能往前。
git reset --hard HEAD^
一个^只能向后移动一位。
使用~符号
如果想往后后退n位,可以使用~
git reset --hard HEAD~n
reset三个参数的对比
- soft参数:
仅仅在本地库移动HEAD指针。 - mixed参数:
在本地库移动HEAD指针。
重置缓存区 - hard参数
在本地库移动HEAD指针。
重置暂存区
重置工作区
添加到缓存区的删除文件找回
首先创建一个文件,取名叫apple.txt。之后将其放入缓存区中并提交到本地库。
此时我们将其在工作区中删除。
使用如下命令可以将在工作区中删除的文件,从缓存区中恢复过来
git reset --hard HEAD
前提:删除前,文件存在时的状态提交到了本地库。
操作
git reset --hard [指针位置]
指针位置是历史记录或者当前的位置。
- 删除操作已经提交到本地库:指针位置指向历史记录。
- 删除操作尚未提交到本地库:指针位置使用HEAD。
网友评论