Day06 Git
Git概述
Git是目前世界上最先进的分布式版本控制系统。
Git是免费、开源的
集中式与分布式
- 本地版本控制
个人使用 - 集中版本控制(例如:SVN)
团队使用,数据在服务器,不可以离线工作 - 分布式版本控制(例如:Git)
团队使用,数据在每个用户本地,可离线工作
Git优点
- 分布式
- 高效(团队,分支)
- 离线工作,服务器压力小
- 易于合并
搭建Git工作环境
- 下载:
https://git-scm.com/ - 安装:
双击下载好的exe文件,然后一直next即可。
注意:目录格式不能有中文和空格。 - 安装完成后
选择Bash选项工作
Git配置
- 设置用户名与邮箱(用户标识,必要)
就是在git中设置当前使用的用户是谁
每一次备份都会把当前备份者的信息存储起来
命令:
配置用户名: git config --global user.name "xiaoming"
配置邮箱: git config --global user.email "xm@sina.com"
- 级别
–local 项目级
–global 当前用户级
–system 系统级
Git建本地仓库
- 在当前目录新建一个Git代码库
$ git init
- 可以直接在当前目录下,右键然后选择Git Bash Here
- 或者在其它地方右键选择Git Bash Here后,输入cd命令转换路径到当前目录。注意:windows下的路径格式斜杠要反过来写。
- 建好可以查看当前目录,会有一个.git的文件夹。
- 新建一个目录,将其初始化为Git代码库
$ git init [project-name]
Git使用流程
- 工作区:写代码
- 暂存区:多个文件作为一次提交(原子性)
- 本地库:你提交的所有版本的数据
- 远程库:远程仓库,托管代码的服务器
git add
添加指定文件到暂存区
- $ git add [file1] [file2] …添加指定目录到暂存区,包括子目录
- $ git add [dir]添加当前目录的所有文件到暂存区
- $ git add .添加每个变化前,都会要求确认对于同一个文件的多处变化,可以实现分次提交
- $ git add -p
git commit
- 提交暂存区到仓库区
$ git commit -m [message] - 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] … -m [message] - 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a
Git 查看命令
- git status 命令
显示工作目录和暂存区的状态,只到文件 - git log 命令
项目历史的信息 - git log --stat 查看简要统计
- git show sha1或者head标记
看某个具体的 commit 的改动内容 - git diff 命令
显示工作目录和暂存区的状态,细到内容 - git diff HEAD 命令
显示工作目录和上一次的状态,细到内容
Git reset
分支合并(重要)
- 新建一个分支,但依然停留在当前分支
$ git branch [branch-name] - 切换分支
$ git switch [branch-name] - 其他分支合并到当前的主分支
$ git switch master
$ git merge dev1