1、设置用户签名
git config --global use.email "邮箱"
git config --golbal user.name "名称"
2、初始化本地仓库
git init
3、添加缓存区
# 单独一个文件
git add index.html
# 单独一个文件夹
git add hello || git add hello/
# 所有的文件
git add .
# 查看提交至暂存区的状态
git status
# 从暂存区退回至工作区
git rm --cached [参数] # 提交的文件或者文件夹
4、提交至历史区 & 回退至工作区 || 回退至暂存区
# 把暂存区的内容存放到历史区
git commit -m [详情信息]
# 查看当前历史区版本信息
git log
# 查看当前历史版本的所有操作记录
git reflog
# 回退到上一次提交的版本
git reset --hard HEAD^ # head 一个^表示master的指针指针往后移一次
# 回退到上上次提交的版本
git reset --hard HEAD^^ # head 二个^表示master的指针指针往后移二次
git reset --hard HEAD~2 # head 一个~后面跟着数字2或者n表示master的指针往后移2次或者n次
# 返回回退提交的版本
git reset --hard [唯一标识] # 通过git reflog 查看版本唯一标识
# 回退至暂存区 而不是工作区
git reset --soft HEAD^ # --hard 回退至工作区 --soft 回退至暂存区
# 回退至上一个版本 指针往后移并生产一条新的记录
git revert HEAD # 撤销提交的数据id 并生成一个新的数据id
注意:
git reset 不适合推送至远程服务器 git reset 是回滚到对应的数据id 相当于删除了数据id以后的所有提交,并且不产生新的commit-id记录 如果需要推送到远程服务器的话,需要强制推送 -f 这样会导致你提交的数据会覆盖其他人的是数据
git revert 是撤销其中的commit-id,然后生产一个新的commit-id,本身不会对其他提交的commit-id产生 影响,推送远程服务器 就是普通的操作git push
5、 Git分支
git 分支将整个文件夹分成一个一个独立的区域,互不干扰。
# 查看分支
git branch
# 创建分支
git branch [分支名称]
# 切换分支
git checkout [分支名称]
# 合并分支
git merge [分支名称] # merge 合并
# 删除分支
git branch -d [分支名称]
6、远程仓库Github与gitee相同
# 连接远程Github仓库
git remote add origin(别名) [Github仓库地址] # origin相当于as 可以给后面的地址起别名
# 查看远程仓库
git remote -v
# 删除远程仓库
git remote remove origin(仓库地址)
# 数据推到远程仓库中去
git push -u [仓库地址] [分支名称] # 如果 -u后面添加的地址不变 那么下次输入就不用输入了 若更改就需要重新输入
# 拉取Github远程仓库
git pull [仓库地址] [分支名称]
# 克隆github仓库
git clone [仓库地址]
# 删除远程仓库中的分支
git push [仓库地址] [推送的分支]:[推送的分支]
git push origin master:master # 表示将master分支推送至仓库中的master分支去
git push origin master:login # 表示将master分支推送至仓库中的Login分支去
git push origin :login # 表示本地的空分支推送至仓库中的Login分支那么空分支会替换login分支也就是删除
7、.gitignore
管理部分文件不传入仓库进行管理(忽略某些文件被git管理)
# 空行不匹配任何文件
# 如果本地仓库文件已经被跟踪,那么即使在.gitignore中设置了忽略不起作用
# .gitignore文件会被上传到远程仓库,所以,同一个仓库的人可以使用同一个.gitignore文件
# 以下配置忽略的文件目录和文件 可以使用通配符 *
1.txt [文件名]
node_modules [文件夹]