写在前面
---------2021.12.14-------------
学习 Git 的话,强烈推荐给大家一个可以交互式学习 Git 的网站 Learn Git Branching。效果真的非常非常棒,通过游戏的方式让你学习 Git 的常见操作。
git网课
git 命令
1.本地库初始化
git init 在当前路径初始化git本地库 生成.git目录,用于存放本地库子目录和文件,不要随意修改
2.设置签名
项目级别(签名只在当前本地库范围生效,优先级大于系统用户级别)
git config user.name username
git config user.email username@gmail.com
保存位置.git/config文件
系统用户级别(登录当前操作系统的用户范围)
git config --global user.name username
git config --global user.email username@gmail.com
保存位置 ~/config文件
如果只有系统用户签名,以系统用户级别的签名为准,不允许两者都没有
3.添加提交及状态查看
git stutas
查看状态
git add [filename]
提交到git暂存区
此时再查看状态
git rm --cached [filename]
删除暂存区文件
此时再查看状态,文件变成未追踪状态
Git commit [filename]
将暂存区文件提交到本地库
这里可以添加本次提交的信息
最后保存退出
或者直接使用git commit -m “commit message” [filename]命令
显示信息
Git status 显示状态
修改文件后git status 显示文件已修改
此时可以使用git add 命令提交到暂存区或者直接使用git commit -a命令提交到本地库
也可以使用git restore [filename]命令撤销此次修改
工作区,暂存区,本地库关系:
4.查看版本历史记录
Git log
HEAD指针指向当前版本
Git log --pretty=oneline
日志一行显示
Git log --oneline
只显示部分hash值
Git reflog
使用这种方式查看历史记录,移动指针更方便
5.前进后退版本
- 基于索引值(推荐)
git reset –hard [局部索引值]
使用git reflog命令 指针指向4f97163 版本
查看文件,已回退到第三个版本
2. 使用^符号
只能后退,有几个^回退几个版本
git reset --hard HEAD^
- 使用~符号
只能后退,n表示后退版本个数
git reset --hard HEAD~n
reset命令三个参数
–soft参数:仅在本地库移动HEAD指针
–mixed参数:在本地库移动HEAD指针并重置暂存区
–hard参数:在本地库移动HEAD指针并重置暂存区和工作区
6.删除文件后找回
前提:删除前,文件存在时的状态提交到了本地库
git reset –-hard [指针位置]
回到上个版本,文件就找回了
7.比较文件
git diff [文件名]
将工作区中的文件和暂存区比较
git diff [本地库中历史版本] [文件名]
将工作区中的文件和本地库历史记录比较
不带文件名比较全部文件