Git基础
我的一些学习git的笔记
初始化配置
git -v
git config --global user.name "<username>"
git config --global user.email <email>
#git环境配置信息
git config --global --list
(Local) | 本地配置,只对本地仓库有效 |
---|---|
–global | 全局配置,对所有仓库生效 |
–systerm | 系统配置,对所有用户生效 |
创建本地仓库
#创建新的目录去存放git仓库
mkdir <dirname>
git init
#查看所有资源
ls -a
#在当前目录下创建一个新的git仓库
git init <newdirname>
git工作空间(git workspace) 和 文件状态(file status)
git workspace
下面贴几张B站up主GeeKHour的图,辅助理解,视频教程很好,强推
file status
untrack 新创建的文件
unmodified 未被修的git文件
modified 被修改后的git文件但是未进入暂存区(即仍在工作区)
staged 成功处于暂存区
# 查看当前git目录下文件的状态
git status
# 添加文件到暂存区
git add <filename>
# 添加当前所有改变过的文件到暂存区
# '.' 意味着当前目录
git add .
# 添加所有 .txt类型的文件到暂存区
git add *.txt
接下来就是将暂存区的文件真正存到本地仓库了
#将处于暂存区的文件提交到本地仓库
git commit -m "<title>"
#一次性完成add和commit操作
git commit -am ""
#查看之前的commit提交记录
git log
#查看简洁的commit记录
git log --oneline
git reset
我们可以回溯到之前的某个版本(version)
git reset 有三种模式
git reset的三种不同模式 | 工作区 | 暂存区 |
---|---|---|
git reset --soft | T | T |
git reset --hard | F | F |
git reset --mixed | T | F |
git log --online
git reset --soft <commit_hash>
git reset --hard <commit_hash>
git reset --mixed <commit_hash>
# 回滚到之前的版本
git reset --sofe HEAD^
如果回滚错了怎么办?可以回滚“回滚操作”(套娃)
#查看当前的版本号
git reflog
#roolback roolback to the last version(回滚回滚操作)
gir reser --hard <commit_hash>
git diff
通常使用GUI工具比较不同版本文件的区别
但会点指令,技多不压身
#比较工作目录和暂存区之间的区别
git diff
#比较工作目录和本地仓库之间的区别
git diff HEAD
#比较暂存区和本地仓库之间的区别
git diff --cached
#比较两给不同版本的文件
git diff <commit_hash1> <commit_hash2>
# 'HEAD' 代表当前版本
# '~' or '^' 代表上个版本
# 所以可以这样做
git diff HEAD~ HEAD
git diff HEAD^ HEAD
# 还可以在在~后面加上数字N,代表向前回退N个版本
git diff HEAD~2 HEAD
# 查看某一文件的不同版本间的区别
git diff HEAD~2 HEAD <filename>
##remove files 移除文件
#只是删除工作目录中的文件,但没有在本地仓库中删除
rm <filename>
#所以需要使用add,将修改记录添加到暂存区
git add .
git 也给了些便捷指令来接下rm操作
#使用git rm 可以省去add文件到暂存区的操作
git rm <filename>
#在最后得用commit将修改提交到本地仓库
git commit -m ""