Git实战使用详解
如有笔误,欢迎留言指正或讨论!
介绍git
git 是一个开源的分布式版本控制系统,可以快速、高效的多人管理项目。在处理大小项目上非常出众。
git VS svn
分布式 vs 集中式
- Subversion属于集中式的版本控制系统
- Git属于分布式的版本控制系统
git的速度快,svn速度慢
git commit 不需要网路,而svn需要
git仓库
- 主要分为三个仓库:
工作库
、暂存库
、版本库
- 工作库:项目目录文件
- 暂存库:项目目录下的
.git
目录里的index
- 版本库:项目目录下的
.git/refs/heads
目录里的分支
git流程图
git常用命令
这些命令足够你在项目开发中使用的了,大厂几乎也就这些常用命令
git clone 'url'
克隆远端代码git init
初始化gitgit pull
拉去代码git status
查看状态git restore .
撤销所有的修改记录git diff .
查看差异git add .
添加到暂存库git comit -m'备注'
备注git reset 'file'
回滚文件git checkout dev
切换分支git push / git push origin HEAD
提交代码 / 提交代码到远端git stash list
查看本地暂存文件列表git stash
暂存:当前分支变动文件到暂存区git stash save '备注'
暂存:当前分支变动文件到暂存区,并且备注git stash pop
把暂存区的所有文件拉到本地,并删除暂存区的所有记录git stash drop
删除暂存区的所有记录git stash apply 0
把暂存区某次记录的文件拉到本地(不会删除暂存区的记录)git log
查看log日志git reflog
查看提交记录git reset --mixed 'logid' 或 git reset 'logid'
保留当前的修改,回滚到指定的版本(默认,称为混合合并)-
git reset --soft 'logid'
保留当前修改+回到指定版本的所有改动(称为软合并) git reset --hard 'logid'
撤销工作区中所有未提交的修改内容,回滚到某个记录(称为强制合并)git branch dev
创建dev分支git merge 'branch'
合并分支git branch -vv
查看当前分支以及分支追踪远端的分支的信息git branch -m
修改本地分支名称git checkout -b 'branch' origin master
新增分支并且追踪到 远端master分支git branch -d / -D 'branch'
-d删除本地分支 / -D强制删除本地分支git push --delete origin branch
删除远端master分支git rebase
基变
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Rain!
评论