- 本地版本控制系统
- 集中式版本控制系统
- 分布式版本控制系统
- 已修改(modified):表示修改了⽂件,但还没保存到数据库中。
- 已暂存(staged):表示对⼀个已修改⽂件的当前版本做了标记,使之包含在下次提交的快照中。
- 已提交(committed):表示数据已经安全的保存在本地数据库中。
- ⼯作区:相当于本地写代码的区域,如 git clone ⼀个项⽬到本地,相当于本地克隆了远程仓库项目的⼀个副本
- 暂存区:暂存区是⼀个文件,保存了下次将提交的文件列表信息,⼀般在 Git 仓库目录中
- 本地仓库:提交更新,找到暂存区域的⽂件,将快照永久性存储到 Git 本地仓库
- 远程仓库:远程的仓库,如 github
配置
- git config [--global] user.name "[name]"
- git config [--global] user.email "[email address]"
日常基本操作
在日常工作中,代码常用的基本操作如下:
- git init 初始化仓库,默认为 master 分支
- git add . 提交全部文件修改到缓存区
- git add <具体某个⽂件路径+全名> 提交某些文件到缓存区
- git diff 查看当前代码 add后,会 add 哪些内容
- git diff --staged查看现在 commit 提交后,会提交哪些内容
- git status 查看当前分支状态
- git pull <远程仓库名> <远程分⽀名> 拉取远程仓库的分支与本地当前分支合并
- git pull <远程仓库名> <远程分⽀名>:<本地分⽀名> 拉取远程仓库的分支与本地某个分支合并
- git commit -m "<注释>" 提交代码到本地仓库,并写提交注释
- git commit -v 提交时显示所有diff信息
- git commit --amend [file1] [file2] 重做上⼀次commit,并包括指定文件的新变化
关于提交信息的格式,可以遵循以下的规则:
- feat: 新特性,添加功能
- fix: 修改 bug
- refactor: 代码重构
- docs: 文档修改
- style: 代码格式修改, 注意不是 css 修改
- test: 测试用例修改
- chore: 其他修改, 比如构建流程, 依赖管理
分⽀操作
- git branch 查看本地所有分支
- git branch -r 查看远程所有分支
- git branch -a 查看本地和远程所有分支
- git merge <分⽀名> 合并分支
- git merge --abort 合并分支出现冲突时,取消合并,一切回到合并前的状态
- git branch <新分支名> 基于当前分支,新建⼀个分支
- git checkout --orphan <新分支名> 新建⼀个空分支(会保留之前分支的所有⽂件)
- git branch -D <分支名> 删除本地某个分支
- git push <远程库名> :<分支名> 删除远程某个分支
- git branch <新分支名称> <提交ID> 从提交历史恢复某个删掉的某个分支
- git branch -m <原分支名> <新分支名> 分支更名
- git checkout <分支名> 切换到本地某个分支
- git checkout <远程库名>/<分支名> 切换到线上某个分支
- git checkout -b <新分支名> 把基于当前分支新建分支,并切换为这个分支
远程同步
- git fetch [remote] 下载远程仓库的所有变动
- git remote -v 显示所有远程仓库
- git pull [remote] [branch] 拉取远程仓库的分支与本地当前分支合并
- git fetch 获取线上最新版信息记录,不合并
- git push [remote] [branch] 上传本地指定分支到远程仓库
- git push [remote] --force 强支推送当前分支到远程仓库,即使有冲突
- git push [remote] --all 推送所有分支到远程仓库
撤销
- git checkout [commit] [file] 恢复某个commit的指定⽂件到暂存区和⼯作区
- git checkout . 恢复暂存区的所有⽂件到⼯作区
- git reset [commit] 重置当前分⽀的指针为指定commit,同时重置暂存区,但⼯作区不变
- git reset --hard 重置暂存区与⼯作区,与上⼀次commit保持⼀致
- git reset [file] 重置暂存区的指定⽂件,与上⼀次commit保持⼀致,但⼯作区不变
- git revert [commit] 后者的所有变化都将被前者抵消,并且应⽤到当前分⽀
存储操作
你正在进行项目中某⼀部分的工作,里面的东西处于⼀个比较杂乱的状态,而你想转到其他分支上进行⼀些⼯作,但又不想提交这些杂乱的代码,这时候可以将代码进行存储 文章来源:https://www.toymoban.com/news/detail-828919.html
- git stash 暂时将未提交的变化移除
- git stash pop 取出储藏中最后存入的⼯作状态进行恢复,会删除储藏
- git stash list 查看所有储藏中的⼯作
- git stash apply <储藏的名称> 取出储藏中对应的⼯作状态进行恢复,不会删除储藏
- git stash clear 清空所有储藏中的工作
- git stash drop <储藏的名称> 删除对应的某个储藏
复杂内容下一章节更新! 文章来源地址https://www.toymoban.com/news/detail-828919.html
到了这里,关于Git版本控制工具的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!