Git学习记录


基础名词:
工作区:文件目录;
版本库:index+master
暂存区:index=stage
.git 隐藏目录 ,.git/index
命令:
git log 查看git commit 版本历史
git log --pretty=oneline 单行简洁模式

git reset --hard HEAD 退回到上次提交的版本;
git reset --hard 31ca2 指定commit id 快速切换到指定历史版本
在Git中,用HEAD表示当前版本,也就是最新的提交1094adb...(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD,上上一个版本就是HEAD^,上100个版本写成HEAD~100。切换版本只是将HEAD指向不同的版本。

git reflog 往前切换版本,用git reflog查看命令历史,以便确定要回到未来的哪个版本。
首次使用需要配置提交者的姓名好邮箱
git config --global user.name '谢亚波'
git config --global user.email xieyabo@qq.com
创建仓库
1、 github创建仓库是勾选:Initialize this repository with a README,然后通过git clone 克隆岛本地
2、不勾选 Initialize this repository with a README,然后执行以下两个步骤
git init : 把当前目录变成Git可以管理的仓库; ls -ah命令就可以看见 .git 目录,这个目录是Git来跟踪管理版本库的
git remote add origin git@github.com:xieyabos/test 关联远程仓库;关联后远程仓库名字默认叫origin,这是Git默认的叫法(如果提示远程仓库已存在:git remote rm origin)
基础操作:
touch README.md 创建一个空文件
git add README.md 将该文件添加到暂存区/index
git commit -m 'first commit' 提交缓存区内容到master
git push origin master 将master推送到远程仓库origin
查看状态:
git status 查看项目状态: 输出最后一次commit后是否有修改,
git status -s 查看简洁信息
文件前的符号:红色??代表工作区中新增的文件; 红色M:代表有修改且没有执行git add . 的文件;绿色A:代表已添加到缓存区的文件;绿D代表已删除的文件
[图片上传失败...(image-b1827b-1547806487408)]

查看已修改文件的差异
git diff README.md 新增了ccc,修改了add和222
[图片上传失败...(image-a55843-1547806487408)]

删除工作区文件/目录:
git rm a.txt
git rm -rf a.dir
删除/修改工作区文件/目录后进行复原:
git checkout --a.txt 让这个文件还原到最后一次git add/git commit的状态。优先选择暂存区的内容,暂存区已经git commit,则从本地仓库中还原
git checkout --master a.txt 加入已经执行git add 而没有执行git commit ,让a.txt退回到本地本地仓库。master=head
git checkout --dir 加入删掉dir目录里的文件,checkout后可以复原此文件