git管理文件夹
# 创建文件夹,进入该文件夹,打开git bash
git init # 初始化,生成.git文件,让git来管理该文件夹
git status # 检测当前目录下文件状态
git add 文件名 # 将指定文件放入暂存区
git commit -m "描述信息" # 提交生成版本
git log # 查看版本记录
git log --graph # 图查看
git log --graph --pretty=format:"%h %s" # 图查看且只显示哈希值和记录
回滚
# 回滚到之前版本
git log # 查看版本记录,找到要回滚版本号
git reset --hard 版本号 # 回滚之前版本
# 再回滚
git reflog # 查看引用日志,找到要回滚版本号
git reset --hard 版本号 # 回滚之后版本
分支
git branch # 查看现有分支
git branch dev # 创建dev分支
git branch -b 分支 # 创建并切换到该分支
git branch -d bug # 删除bug分支
git branch -M main # 将当前分支重命名为main(github会用到)
git checkout dev # 切换到dev分支,开发c4
git checkout -b 分支 # 创建并切换到该分支
git merge bug # 合并bug分支(此时应该在master分支上)
推送 & 克隆、拉取
推送
git remote add origin 远程仓库地址 # 给远程仓库起个别名origin(也相当于绑定一个远程仓库)
git push -u origin 分支 # 将该分支推送到远程仓库
# -u参数解释:加-u参数执行过一次后,表示以后默认将代码推送到origin的该分支上
git push origin 分支 # 将该分支推送到远程仓库
克隆、拉取
git clone 远程仓库地址 # 克隆远程仓库代码
git pull origin 分支 # 拉取分支(不需每次都克隆,克隆一次就行,后续拉取)
相当于
git fetch origin dev + git merge origin/dev
注意
- 克隆时内部已经实现
git remote add origin 远程仓库地址
,可以直接用origin,不用每次再起别名。- - 克隆会将所有分支拉到本地,虽然不显示,但可以切换:git checkout 分支
- 推送可拉取一次只操作一个分支
其他
git remote remove origin # 删除现有的远程仓库 origin
图