# Git学习 > 来自于Bilibili > 【狂神说Java】Git最新教程通俗易懂 ## Git配置 1. 查看Git配置 ```bash # 查看系统配置 git config --system --list # 查看当前用户配置global git config --global --list # 查看当前仓库配置 git config -l ``` 2. 设置用户标识 ```bash # 用户名称 git config user.name "name" # 邮箱 git config user.email "email" ``` ## 核心 1. 四个区域 - 工作区 - 暂存区 - 仓库区 - 远程仓库 ## 操作 1. 初始化 ```bash # 本地创建 git init # 远程克隆 git clone url ``` 2. 查看文件状态 ```bash # 查看指定文件状态 git status [filename] # 查看所有文件状态 git status ``` 3. 忽略文件 `.gitignore` - 注释使用`#`开头 - 通配符 - *任意多字符 - ?一个字符 - [abc]可选字符 - {按不出, ds}可选字符串 - !开头表示特例 - /开头代表路径 - /结尾代表路径下所有文件 4. 提交流程 ```bash # 添加到暂存区 # .代表所有 git add . # 提交 git commit -m "message" # 推送到远程 git push ``` 5. 分支 ```bash # 列出所有本地分支 git branch # 列出所有远程分支 git branch -r # 创建一个分支但依然停留在当前分支 git branch [分支名称] # 创建分支并切换到改分支 git checkout -b [分支名称] # 切换存在的分支 git checkout [分支名称] # 切换到远程分支并创建本地分支 # 一般远程分支为 orign/分支名 git checkout -b [新本地分支] [远程分支] # 删除分支 git branch -d [分支名称] # 删除远程分支 git push orign --delete [远程分支名称] git branch -dr [remote/branch] # 合并分支到当前分支 git merge [分支名称] ``` 6. 查看提交记录 ```bash # 查看概览 git log # 查看修改内容 git log -p # 最近n条记录 git log -[n] # 查看简介信息 git log --oneline # 分支变动 git log --graph # 逆向显示 git log --reverse # 查找指定用户的提交日志 git log --author=Linus --oneline -5 # 查看指定文件的修改记录 git blame ``` 7. 回退版本 ```bash $ git reset HEAD^ # 回退所有内容到上一个版本 $ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本 $ git reset 052e # 回退到指定版本 ``` 8. 清空暂存区 - 还没有进行 add . 和 commit 操作 ```bash # 只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令; $ git checkout . # 清空所有新建的文件和文件夹; git clean -d ``` - 已经 add . 了, 用如下命令重置 ```bash $ git reset . ``` 9. 远程仓库 ```bash # 添加远程仓库 git remote add origin # 提交到远程仓库 git push -u origin master # 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。 ```