Githttps://git-scm.com/
1. Git简介
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。Git 是基于 Linux内核开发的版本控制工具。
从一般开发者的角度来看,git有以下功能:
- 从服务器上克隆(clone)完整的Git仓库(包括代码和版本信息)到单机上。
- 在自己的机器上根据不同的开发目的,创建分支(branch),修改代码。
- 在单机上自己创建的分支上提交(commit)代码。
- 在单机上合并(merge)分支。
- 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
- 生成补丁(patch),把补丁发送给主开发者。
- 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
- 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
2. Git命令使用
git 全局设置
- 设置用户信息
– git config --global user.name “itcast”
– git config --global user.email “hello@itcast.cn” - 查看配置信息
– git config --list
获取git仓库
- 在本地初始化一个Git仓库(不常用)
– 新建一个空的文件夹,在里面右击鼠标,打开 Git bash 窗口
– 执行命令 git init
– 当我们看见生成了 .git隐藏文件夹时,说明git本地仓库创建成功 - 从远程仓库克隆
– git clone url
工作区、暂存区、版本库 概念
- 版本库:.git隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文本版本信息等
- 工作区:包含.git文件夹的目录就是工作区,主要用于存放开发的代码
- 暂存区:.git文件夹中很多文件,其中有一个index文件就是暂存区,暂存区是一个临时保存修改文件的地方
git 工作区中文件的状态
本地仓库操作
- git status 查看文件的状态
- git add */filename 将文件的修改加入暂存区
- git reset hello.txt 取消该文件的暂存
- git reset --hard 009… 回到该时间线
(回到该时间线以后,该时间线之后的所有代码将丢失) - git commit -m “add hello.txt” hello.txt
- git log 查看日志
- git blame 查看指定文件的修改记录,以列表形式显示修改记录
- git ls-files 所有文件的列表
远程仓库操作
- git remote 查看当前本地仓库是否关联远程仓库(只能查出别名)
- git remote -v
结果: origin https://… - git remote add origin url 将该本地仓库和指定远程仓库关联上
- git clone url 选择一个空的文件夹,将远程仓库上所有的文件clone下来,适合第一次拉取
- git pull origin master 从远程仓库上拉取
分支操作
- git branch 列出所有本地分支
- git branch -r 列出所有remote远程分支
- git branch -a 列出所有all本地和远程分支
- git branch b1 创建b1分支
- git branch -d b1 删除b1分支(delete)
- git branch checkout master 切换到master分支
- git push origin b1 将该分支推送到远程仓库