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
Posted on Apr 8, 2020