Tool-Git语法
[TOC]
Git
基础定义
定义:版本控制管理工具
几个位置:
- 工作区
- 版本库
- 暂存区
- 仓库
- 本地仓库
- 远端仓库
基础语法
git init
【修改】初始化当前目录变成可以用git进行接管的文件目录。在整个工作区中会产生一个.git文件,存放版本库。
git add .
git add README.md
【移动】将该目录的所有文件/README.md文件添加到缓存区
(注意,虽然移动到了暂缓区,但是还没有被提交到本地仓库,因此在add之后,查看log,还是没有记录这个版本的「此时的status显示红色」,包括查看reflog,也是没有这个版本的)然后将文件加入工作区之后「此时status显示绿色」
git commit -m "xxx 提交到本地仓库"
【移动】将缓存区的文件提交到本地仓库
git status
【查看】
- 文件:看缓存区是否还有尚未提交到本地仓库的文件
- 文件:看缓存区文件里的内容和本地仓库文件里的内容是否有不一致的
- 分支:当前处于哪个分支
git diff README.md
【查看】看某个文件不一致在哪里,回来类似于cat语句将不一样的地方输出出来
git log
git log --pretty=oneline
【查看】看所有的缓存区提交到本地仓库的记录(通过添加参数保证所有的内容都在一行内显示)
git reset HEAD *
【操作】清空缓存区:移除暂存区的内容,然后利用.gitignore
忽略掉不想commit的文件,然后再将对应文件添加进入缓存区
git reflog
【查看】看到所有本地仓库的历史记录的版本号,可以利用获取到的版本好来随意移动到本地仓库的对应版本
git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard HEAD~100
git reset --hard 6fcfc89
【前后移动+修改】
- 回退到本地仓库的上一个版本/上上个版本/第前100个版本【注意,此时本地的文件也跟着变到了原来的内容】
- 前进到本地仓库的版本号为
6fcfc89
的版本
# .gitignore git忽略文件写法
# 用于忽略文件目录下的folder1和folder2所有文件
folder1/
folder2/
venv/
# 用于忽略文件目录下后缀为.sql/.class的所有文件
*.sql
*.class
分支
【新增】新增分支 // 新增然后直接切换分支
git branch dev
git chectout -b dev
【操作】切换分支
git checkout master
git checkout dev
【操作】将分支推向远端仓库,远端仓库会新增dev分支
git push origin dev:dev
【操作】正常commit之后,将version推向远端仓库的dev分支
git push origin dev