一、Git 介绍
分布式版本控制系统
- 代码备份
- 版本回退
- 协作开发
- 权限控制
二、基本操作
1. 创建并进入空文件夹
2. 右键 -> 点击 Git Bash Here 启动命令行
3. `git init` 仓库初始化
4. 创建一个初始化文件 index.html
5. `git add index.html`、`git add -A`
将文件/工作区所有文件加入到暂存区
6. `git commit -m '注释'` 、`git commit `
提交到仓库并注释 message
三、版本库的三个区域
- 工作区(代码编辑区)
- 暂存区(修改待提交区)
- 仓库区(代码保存区)
四、配置忽略文件
1、仓库中不提交该文件
项目中有些文件是不需要进入版本库中,比如编辑器的配置、多媒体、临时文件、第三方模块
Git 中需要创建一个文件 .gitignore,一般与 .git 同级目录。
.gitignore 可以在子文件夹下创建
# 忽略所有的 .idea 文件夹
.idea
# 忽略所有以 .mp4 结尾的文件
*.mp4
# 忽略 当前文件夹(node_modules) 文件和文件夹
/node_modules
2、仓库中对加入文件的忽略
1、对于已经加入到版本库的文件,可以在版本库中删除该文件
git rm --cached .idea
2、然后在 .gitignore 中配置忽略
.idea
五、版本回退
1、回滚
查看历史记录
// 如果内容偏多, 需要使用方向键上下滚动, 按 `q` 退出
git log
git log --oneline(简版)
// 根据版本号进行回滚 (线上代码出问题)
git reset --hard 119cc95
==版本切换之前,要提交当前的代码状态到仓库==
2、其他回滚
回滚到最开始,如果关闭git,就找不到log。
git reset --hard HEAD^ 回滚到上个版本
git reset --hard HEAD^^ 回滚到上上个版本
六、冲突
原因:
当多个分支(人)修改同一个文件后,合并分支的时候就会产生冲突。
文件后出现merger
通过git status查看冲突文件
解决冲突:
(1)将内容修改为最终想要的结果(改文件)
(2)执行 git add 与 git commit -m’ ’
(3)执行git pull
(4)执行git push
七、Gitub
1、代码推远程
(1)GitHub创建仓库(资料库)
(2)给远程仓库起别名
git remote add origin https://...
// remote 遥远的
// add 添加
// origin 别名
// https: 远程地址
# 查看远程仓库配置
git remote -v
# 移除
git remote rm
# 重命名
git remote rename
(3)书写本地代码add并commit
(4)将本地仓库[某个-分支]推送到远程仓库[某个分支]
git push -u origin master
// push 推送
// origin 远端仓库的别名
// master 本地仓库的分支
2、工作流程
(1)克隆仓库(远程仓库的内容拿到本地)
// 克隆代码之后,本地仓库会默认有一个远程地址的配置,名字为 origin
git clone https://...
(2)创建分支干活
git checkout -b mn
// 本地推送新分支自动在远程库建立新分支
git push origin mn
(3)增加和修改代码
(4)本地提交
git add -A
git commit -m 'message'
(5)拉取远程代码
git pull
(6)切换合并分支
// 合并之前必须要切换到主分支
git checkout master
// 合并分支
git merge mn
(7)推送到远程
git push origin mn
第二天流程 :一开始先git pull ,然后切换分支干活