一、介绍
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
具有廉价的本地分支、方便的暂存区和多个工作流等功能。
官网:Git
集中式版本控制(SVN)
每台电脑通过客户端键连接中央服务器,提交文件修改或者获取最新的文件,一旦中央服务器宕
机,整个版本控制都无法使用
分布式版本控制(Git)
每台电脑都拥有本地仓库,并可以将文件提交到远程仓库或者从中拉取最新文件,当远程仓库宕机
后,仍然可以在本地进行版本控制,在远程仓库恢复后进行合并
二、常用命令
1.基本命令
设置用户签名(姓名/邮箱)
git config --global user.name 名称 git config --global user.email 邮箱
查看文件(C:\Users\xxx\ .gitconfig)是否设置成功
初始化本地库
git init
查看文件夹出现.git
文件夹
查看本地库状态
git status
创建文件后查看:
添加暂存区
git add 文件名
暂存区的文件可以被删除
git rm --cached 文件名
提交本地仓库
git commit -m 日志信息 文件名 git commit -am 日志信息 文件名(-am 包括加入暂存区和提交本地仓库两步)
展示差异
git diff
查看日志
git reflog //查看版本日志 git log //查看详细版本日志 //指定输出格式 git log --pretty=format:"%h -%an, %ar:%s" %h 提交版本号(简化) %an 作者名称 %ar 修订日期(距今) %ad 修订日期 %s 附加说明 git log --graph //图形化输出(展示分支)
版本穿梭
git reset --hard 版本号
原始文件信息和版本日志
切换版本后查看文件信息和版本日志
2.分支命令
git branch -v //查看本地库所有分支 git branch 分支名称 //创建分支(会复制一份master主分支的内容) git checkout 分支名称 //切换分支
git merge 分支名称 //将指定的分支合并到当前分支上
冲突合并:
当两个分支在同一文件的同一位置
存在两种不同的修改
时,git无法决定使用哪一种修改,需要人工合并
将dev分支合并到master分支冲突
修改内容后提交到本地仓库不需要写文件名称
暂时保存当前修改
git stash [push] //保存修改 git stash apply //恢复之前保存的修改
3.远程库命令
git remote -v //查看所有远程仓库 git remote add 远程仓库别名 远程仓库地址 //创建远程仓库别名
创建成功查看,拉取fetch
和推送push
命令都可以使用别名
git push 远程仓库地址/远程仓库别名 分支名称 //推送到远程仓库
git pull 远程仓库地址/远程仓库别名 分支名称 //拉取远程仓库到本地仓库
拉取成功后更新本地仓库到最新状态
//克隆远程仓库 --> 1.拉取远程代码 2.初始化本地仓库 3.创建远程仓库别名为origin git clone 远程仓库地址
三、远程仓库
远程仓库即代码托管中心,基于网络分为两种:
局域网
-
GitLab
互联网
-
Github
-
Gitee
同一个团队的成员可以直接通过pull
、push
命令进行操作,团队外的成员需要先将项目fork
到自己的远程
仓库,然后对这个仓库进行操作,最后提交pull request
请求让原项目组审核合并。