1 Git简介
官网地址:https://git-scm.com/
版本控制工具:协同修改、数据备份、版本管理、权限控制、历史记录、分支管理。
集中式版本控制工具:SVN
分布式版本控制工具:Git
2 Git的安装
安装过程中几个重要的步骤:
3 Git的结构
3.1 Git结构
工作区 --git add [filename]–> 暂存区–git commit [filename]–>本地库
写代码 ----> 临时存储---->历史版本
3.2 Git和代码托管中心
4 Git命令行操作
4.1 本地初始化
-
git init
4.2 设置签名
级别的优先级:就近原则,项目级别优先级优先于系统级别优先级。
二者都有时,采用项目级别的签名。
如果只有系统级别的优先级,以系统级别的优先级为准
二者都没有,不允许。
- git config user.name 项目级别用户名
- git config user.email 项目级别用户的邮箱
- git config --global user.name 系统级别用户名
- git config --global user.email 系统级别用户的邮箱
4.3 基本操作
状态查看
git status 查看工作区和暂存区状态
添加到暂存区
git add [file name] 将工作区的“新建、修改操作的文件”添加到暂存区
提交到本地库
将暂存区的内容提交到本地库
-
git commit [file name] 然后进入vim编辑器编辑日志信息
-
git commit -m “commit message” [file name]
查看历史记录
-
git log
-
git log --pretty=oneline
-
git log --oneline
-
git reflog
前进后退
- 基于索引值操作(推荐)
- git reset --hard [局部索引值]
- 使用^符号:只能后退
- git reset --hard HEAD^
- 注意:一个^表示后退一步
- 使用~符号:只能后退
- git reset --hard HEAD~n
- 注意:表示后退n步
reset 的三个参数对比
–soft
–mixed
–hard
删除文件的找回
前提删除前已经提交到本地库
- git reset --hard [指针位置]
比较文件差异
- git diff [file name] 将工作区的文件与暂存区的文件进行比较
- git diff [本地库中历史版本] [文件名] 将工作区中的文件与本地库历史版本文件比较
- 不带文件名比较多个文件
4.4 分支管理
分支概念
分支操作
-
创建分支:git branch [分支名]
-
查看分支:git branch -v
-
切换分支:git checkout [分支名]
-
合并分支:
- 第一步:git checkout [被合并的分支名]
- 第二步:git merge [有新内容分支名]
-
解决冲突
5 GitHub
5.1 创建GitHub账户
-
第一步:注册,登录
-
第二步:创建一个新的远程仓库
-
-
设置远程库的名称
-
5.2 创建远程库地址别名
git remote add [别名] [远程地址]
git remote -v 查看所有远程地址别名
5.3 推送到远程库
git push [别名] [分支名]
5.4 克隆
git clone [远程地址]
5.5 拉取
pull = fetch + merge
git fetch [远程库地址别名] [远程分支名]
git merge [远程库地址别名/远程分支名]
git pull [远程库地址别名] [远程分支名]