Git简介
• Git(吉特)是一个分布式版本控制软件
• 最初由林纳斯·托瓦兹(Linus Torvalds)创作。
• 最初目的是为更好地管理Linux内核开发而设计。
Git的文件状态
• Git有三种状态。
• 已修改(modified)表示修改了文件,但还没保存到数据库中。
• 已暂存(staged)表示对一个已修改文件的当前版本做了标记,使之包含在下次提
交的快照中。
• 已提交(committed)表示数据已经安全地保存在本地数据库中。
• Git项目拥有三个阶段:工作区、暂存区以及Git目录。
• 工作区是对项目的某个版本独立提取出来的内容。
• 暂存区是一个文件,保存了下次将要提交的文件列表信息。
• Git目录是Git用来保存项目的元数据和对象数据库的地方。
• 基本的Git工作流程如下:
• 1、在工作区中修改文件。
• 2、将你想要提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
• 3、提交更新,找到暂存区的文件,将快照永久性存储到Git目录。
Git常用命令-本地操作
• git init:初始化工作目录
• git add:添加文件,如git add *.txt
• git status:跟踪文件状态
• git rm:从版本库移除文件
• git mv:移动文件
• git commit:提交文件,如git commit -m 日志信息
• git log:查看提交日志
• git reset:取消暂存的文件
• git checkout:撤消对文件的修改
Git常用命令-远程操作
• git remote [-v]:查看你已经配置的远程仓库服务器
• git remote add :添加远程仓库
• git remote rename :远程仓库重命名
• git remote remove :移除远程仓库
• git remote show :查看某个远程仓库
• git fetch :从远程仓库中抓取,不影响工作目录
• git pull :从远程仓库中拉取到工作目录
• --allow-unrelated-histories:
• git push :推送到远程仓库
• git clone :克隆项目
Git标签
• 使用标签功能来标记发布结点(v1.0 、v2.0)
• git tag
• 标签分类
• 轻量标签(lightweight):本质上是将提交校验和存储到一个文件中,没
有保存任何其他信息;
• git tag <标签名>
• 附注标签(annotated):是存储在Git数据库中的一个完整对象,它们是可
以被校验的。
• git tag -a <标签名> -m <附注描述信息>
• 共享标签
• 默认情况下,git push命令并不会传送标签到远程仓库服务器上。
• 推送一个标签:git push origin <标签名称>
• 推送所有标签:git push origin --tag
Git分支概念
• 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开
发主线。
• 在很多版本控制系统中,完全创建一个源代码目录的副本。
• Git处理分支的方式可谓是难以置信的轻量,创建新分支几乎能在瞬间
完成,并且在不同分支之间的切换操作也是一样便捷。
• Git鼓励在工作流程中频繁地使用分支与合并,哪怕一天之内进行许多
次。
• Git的默认分支名字是master。在多次提交操作之后,你其实已经有一
个指向最后那个提交对象的master分支