Git学习——
git init——初始化仓库
杂
①vim编辑器内esc退出输入模式时,:set nu可以显示行号
②cat 文件名,可以查看文件内容
③clear,清屏
④多屏显示控制方式 空格 向下翻页,b 向上翻页, q退出
⑤tail -n 数字 文件名 显示文件内指定的后几行(多少行由数字决定)
Git
git中版本的控制,可以理解为每一次版本都有一个对应的hash值,在仓库中,要进行版本更新时,从前一个版本中取出,然后更新,计算得到一个新的hash值,放到仓库的另一个当前新hash值对应的地方,而前一个版本的位置和内容不变,这样就可以更好地实现版本控制
设置项目签名
git config user.name 用户名
git config user.email 邮箱(不会进行验证,只是用于区分用户标识)
设置系统签名
git config --global user.name 用户名
git config --global user.email 邮箱(不会进行验证,只是用于区分用户标识)
用vim编辑器新建一个文件hello.txt
状态查看
git status 可以查看状态,此时仓库所在的文件夹中有一个文件,但未进行追踪
文件添加追踪
git add 文件名,可以将仓库中未追踪的文件进行追踪,此时再查看git status时可以看到hello.txt文件已经追踪,放到了暂存区
可以将工作区中的“新建和修改”添加到暂存区
追踪文件从暂存区中移除
git rm --cached 文件名,可以将暂存区中某个文件撤销追踪,从暂存区中移除
提交文件
git commit 文件名,可以将暂存区中的某个文件提交到本地库
提交文件时添加注释
①git commit -m "注释信息" 文件名
②如果提交时不加入-m参数,提交后会进入一个vim编辑器界面,可以在里面编辑提交信息注释,记得wq保存
修改文件
直接vim 文件名就可以修改文件,修改文件后如果要把文件保存到本地库
①先git add添加到暂存区,再git commit提交到本地库(推荐做法,给自己一个后悔的机会)
②git commit -a(注意,这个是提交暂存区中所有的文件到本地库中)
查看历史记录(git log)
①git log --pretty=oneline(显示详细历史版本信息),首部字符串是hash值
②git log --oneline(显示简略版历史版本信息),首部字符串一样是hash值,不过是局部hash索引值
③git reflog(这个显示历史版本信息,可以清晰看出版本前进后退移动指针的信息)HEAD@{移动到当前版本需要的步数}
历史版本回退
①基于索引值操作(极其推荐使用)——git reset --hard 索引值(可以是局部的),可以直接回退到指定索引的历史版本
②使用^符号操作,只能后退——git rest --hard HEAD^,有多少个^表示后退多少个版本
③使用~符号操作,只能后退——git rest --hard HEAD~n, n代表数字,n是多少,后退多少个版本
查看命令文档
git help 命令(如reset),查看reset的文档(非在线)
reset命令的三个参数对比
①soft——仅仅在本地库移动HEAD指针
②mixed——在本地库移动指针
重置暂存区
③hard——在本地库移动指针
重置暂存区
重置工作区
文件删除
①首先,rm 文件名,从工作区中删除该文件
②其次,git add 文件名,将对该文件的操作加入到暂存区中
③最后,git commit 文件名,将对该文件的操作加入到本地库中(此时就相当于又更新了一个版本,原来有该文件的版本就变成了上一个版本)
文件找回
所以,要找回文件,直接回退到未删除前的版本就可以了,历史记录是不可磨灭的