You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

177 lines
3.1 KiB

# 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 <file>
```
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 <url>
# 提交到远程仓库
git push -u origin master
# 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
```