git是什么
git是版本管理控制系统(简称vcs),它可以在任何时间点,将文档的状态作为更新记录保存起来,也可以在任何时间点,将更新记录恢复回来,
分布式:Git版本控制系统是一个分布式的系统,是用来保存工程源代码历史状态的命令行工具。目前世界上最先进的分布式版本控制系统。
Git的分支和合并:分支模型是Git最显著的特点,因为这改变了开发者的开发模式,SVN等版本控制工具将每个分支都要放在不同的目录中,Git可以在同一个目录中切换不同的分支。
SVN与Git的最主要的区别:
SVN是集中式版本控制系统,版本库是集中放在中央服务器的。
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库。
Git 基本工作流程
首先在工作区域进行代码编辑,然后将编辑好的代码推送到暂存区域,然后将暂存区域的代码推送到本地仓库,最后将本地仓库的代码推送到远程仓库。
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
git中的HEAD:
在 git 中,它是一个指向你正在工作中的本地分支的指针,可以将 HEAD 想象为当前分支的别名。
对于git的使用
在使用 git 前,需要告诉 git 你是谁,在向 git 仓库中提交时需要用到。
- 配置提交人姓名:
git config --global user.name 提交人姓名
- 配置提交人姓名:
git config --global user.email 提交人邮箱
- 查看git配置信息:
git config --list
注意
- 如果要对配置信息进行修改,重复上述命令即可。
- 配置只需要执行一次。
提交到git的步骤
git init
初始化git仓库 (mac中Command+Shift+. 可以显示隐藏文件)git status
查看文件状态git add 文件列表
追踪文件git commit -m 提交信息
向仓库中提交代码git log
查看提交记录
撤销步骤
用暂存区中的文件覆盖工作目录中的文件: git checkout 文件
- 将文件从暂存区中删除:
git rm --cached 文件
- 将 git 仓库中指定的更新记录恢复出来,并且覆盖暂存区和工作目录:
git rest --hard commitID
(分支的id)
分支细分
总结创建与合并分支命令如下:
查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout –b name
合并某分支到当前分支:git merge name
删除分支:git branch –d name
暂时保存更改
可以暂时提取分支上所有的改动并存储,让开发人员得到一个干净的工作副本,临时转向其他工作。
使用场景:分支临时切换
- 存储临时改动:
git stash
- 恢复改动:
git stash pop
主要的几个步骤
git init # 初始化git仓库
git log # 查看提交历史
git add “文件名称” # 将工作区的修改提交到暂存区
git add . # 不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
git commit -m “本次提交描述” # 该命令会将git add .存入暂存区修改内容提交至本地仓库中,若文件未添加至暂存区,则提交时不会提交任何修改。
git status # 查看当前仓库的状态
git push # 将本地代码更新到远程分支上
git branch # 查看分支
git branch # 分支名称 创建分支
git checkout # 分支名称 切换分支
git merge # 来源分支 合并分支
git branch -d 分支名称 # 删除分支(分支被合并后才允许删除)
git stash # 所有未提交的修改都保存起来,用于后续恢复当前工作目录
git stash pop # 恢复改动