Git 基本使用
Git 基本使用
Git 是什么?
Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容。
Git 易于学习,占用空间小,具有闪电般的快速性能。它具有廉价的本地分支,方便的暂存区域和多个工作流等功能,其性能优于 SubCM,CVS,Perforce 和 ClearCase 等 SCM 工具。
- 分布式开发
- 免费开源
- 速度快、体积小
很多新手误以为 Git 就是 GitHub,事实上 Git 是一个版本控制系统,而 GitHub 是一个商业网站,虽然 GitHub 很好用,但是 Git 才是本体。
Git 安装
安装 Git 的步骤非常简单,在 官方网站 直接下载安装,安装步骤这里就省略了,安装完成后会发现鼠标右键出现Git Bash Here
字样,或者在菜单里搜索 Git Bash
即可。
配置用户名和邮箱
初次安装 Git 需要配置用户名和邮箱,在 Git Bash 中进行如下配置。
1 | git config --global user.name "你的用户名" |
注意 git config 命令的 --global
参数,用了这个参数,表示你这台机器上所有的 Git 仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和 Email
地址。
1 | git config user.name '你的用户名' |
查看配置信息
要检查已有的配置信息,可以使用 git config --list
命令,也可以直接查阅某个环境变量的设定。
1 | # 打印所有config |
工作区、暂存区、版本库、远程仓库
-
工作区(workspace): 在电脑里能看到的目录
-
暂存区(index): 缓存区域,临时保存你的改动
-
版本库(repository): 存放数据的位置,这里面有提交的所有版本的数据
-
Git 仓库(remote): 远程仓库,托管代码
Git 基本命令
你可以在这里查看:Git 完整命令手册
创建/初始化仓库
创建新文件夹,打开,然后执行 git init
以创建新的 git 仓库。
1 | git init |
在执行完成 git init
命令后,Git 仓库会生成一个 .git 目录,该目录包含了资源的所有元数据
拉取远程仓库到本地
1 | git clone <repo> |
例如:
1 | git clone git@github.com:EmoryHuang/test.git |
执行该命令后,会在当前目录下创建一个名为 test 的目录,其中包含一个 .git 的目录,用于保存下载下来的所有版本记录。
添加与提交
你可以把文件添加到缓存区,使用如下命令:
1 | git add test1.txt # 添加单个文件 |
使用如下命令以实际提交改动:
1 | git commit -m "代码提交信息" |
完整的操作步骤示例如下
1 | git init # 初始化仓库 |
git status 命令
git status 命令用于查看在上次提交之后是否有对文件进行再次修改。
1 | git status # 查看上次修改的信息 |
git diff 命令
git diff 命令比较文件在暂存区和工作区的差异。
1 | git diff # 尚未缓存的改动 |
回退版本
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
1 | git reset --hard HEAD # 回退到当前最新提交 |
撤销修改
你可以使用如下命令替换掉本地改动:
1 | git checkout <filename> # 撤销修改 |
删除文件
git rm 命令用于删除文件。
1 | git rm 1.txt # 从暂存区中删除文件 |
重命名文件
git mv 命令用于移动或重命名一个文件、目录或软连接。
1 | git mv <file> <newfile> |
日志
在使用 Git 提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看
1 | git log # 提交详情 |
Git 远程操作
git remote 命令
1 | git remote -v # 显示所有远程仓库 |
git push 命令
1 | # 将本地的分支版本上传到远程并合并 |
git pull 命令
1 | git pull <远程主机名> <远程分支名>:<本地分支名> |
Git 分支
执行 git init 的时候,默认情况下 Git 就会创建 master 分支。
1 | git branch # 查看分支 |
代码版本
1 | git tag # 查看所有标签 |