Git教程
Git基础教学笔记
简介

git是一个分布式版本控制工具,通常用来管理源代码。
git可以管理两种仓库:本地仓库 & 远程仓库
基本的命令有:
commit : 提交,将本地文件和版本信息保存到本地仓库push:推送,将本地仓库上传到远程仓库
pull:拉取,下载远程仓库到本地仓库
首先
安装完git后,首先要做的就是配置你的用户名和email地址。
命令:
git config –global user.name “***”
git config –global user.email “***”
查看配置信息
git config –list
本地初始化仓库
方法一:
本地运行
git init
方法二:
通过命令克隆已有仓库
git clone + “地址”
工作区,暂存区,版本库
版本库:就是我们本地目录中的.git文件,里面包含了很多配置信息,日志,和文件版本信息(不要动)
工作区:包含.git的文件目录
暂存区:位于.git的index下,用于临时保存修改文件
文件的两种状态
- untracked未跟踪(未纳入版本控制)(git不会管理该文件)
- tracked已跟踪
- unmodified 未修改
- modified已修改
- staged暂存
Git常用命令
本地操作
git status 查看文件状态(看文件是否被跟踪)
git add 将修改加入暂存区
git reset 取消暂存或者切换到指定版本
git commit 提交暂存区文件到版本库
git log 日志
远程仓库操作
git remote 查看远程仓库
git remote add 添加远程仓库(如果是从已有仓库克隆,则本地仓库自动关联远程,如果是本地init,则需要添加 格式:git remote add origin + 地址)
git clone 从远程仓库克隆
git pull 从远程仓库拉取
git push 推送到远程仓库(git push origin master)
注意:git pull过程中,如果是一个本地init的仓库通过add关联远程,然后pull远程仓库,如果本地init的仓库已经存在文件,那么拉取时会报错,解决方法:在git pull 后加–allow-unrelated-histories
分支
默认master
git branch 查看分支
git branch name 创建分支
git checkout name 切换分支
git push origin name 推送到origin的name分支上
git merge name 合并分支
冲突解决
冲突原因:两个分支修改了同个文件的同一位置
- 找到冲突文件
- 修改冲突位置(留哪一段)
- 保存
- git add + 冲突文件
- git commit -m -i
避免冲突:及时git pull拉取最新仓库
标签
可以看做版本号
命令
git tag 列出已有标签
git tag name 创建标签
git push origin 标签名 推送标签
git checkout -b “branch” “name” 检出标签(branch名随便,它将作为你检出标签后存放的分支名,检出和版本回退差不多)
标签和分支差别:标签是静态的,他会永远确认一个仓库的状态;分支是动态的