感觉日常生活中不怎么用git命令,都是用开发工具(vs code|webstorm),最近系统学习了一波,记录下来以免忘记
首先你需要了解git是怎么标记文件的,请跳到下方链接查看
https://www.cnblogs.com/smile-fanyin/p/10827438.html
下面是git命令,有啥不对的,评论我,我改,我先无耻的盗图
我认为刚开始的文件都在工作区,add之后文件进入暂存区,commit之后的文件进入版本库,push也就是推送到远程版本库也就是github,gitee这些
基本操作
// 在当前文件夹下创建git管理,也就是.git文件,这里面隐藏了会记录本地缓存信息,用来提交和推送的
// 你可以手动创建.gitignore文件,该文件里面指定的文件名的文件,将被git忽略,也就是不会提交和推送到代码库中
git init
// 查看当前git的暂存区信息
git status
// 文件将被标记为已跟踪状态,也就是放入暂存区
git add 文件名或者是文件夹
// 比对版本库的文件,恢复被删除的文件或者是切换分支
git checkout 文件名或分支名
// 将版本库的文件改为未跟踪状态下的文件
git rm --cached 文件名
// 提交暂存区文件到版本库
git commit -m '注释'
// 回退一次commit
git reset HEAD^
// 回退一次commot并且修改工作区文件
git reset --hard HEAD^
// 打印commit提交的记录
git log
// 保存当前工作的目录并将当前文件变成最近一次commit的状态下的文件内容
git stash
// 恢复git stash保存的工作目录,将文件在变回来
git stash pop
// 撤销工作区下的修改
git restore
分支类
// 创建分支
git checkout -b 分支名称
// 查看分支
git branch
// 删除分支
git branch -D 分支名
// 合并指定的分支的文件到当前分支下,添加--squash会将多次提交信息合并为一次
git merge (--squash) 分支名
// 分支创建合并过程查看
git log --graph --pretty=oneline --abbrev-commit
推拉类
// 与远程版本库建立链接
git remote add origin git地址
// 推送版本库到远程版本库
git push
// 拉取远程版本库到工作区
git pull
// 按需拉取远程版本库到版本库
git fetch
// 全量拉取远程版本库到版本库
git clone