文章目录
- 前言
 - 基本配置
 - 基本操作
 - 1.初始化
 - 2.查看修改状态(status)
 - 3.添加工作区到暂存区
 - 4.提交暂存区到本地仓库
 - 5.查看提交日志
 - 6.版本回退
 - 7.添加文件至忽略列表
 
- 分支
 - 1.基本命令
 - 2.分支冲突
 
- git远程仓库
 - 1.创建远程仓库
 - 2.配置公钥
 - 3.操作远程仓库
 
- idea配置git
 
前言
Git是目前世界上最先进的分布式版本控制系统。
git 的整体工作流程:

1.clone(克隆): 从远程仓库中克隆代码到本地仓库
 2. checkout (检出):从本地仓库中检出一个仓库分支然后进行修订
 3. add(添加): 在提交前先将代码提交到暂存区
 4. commit(提交): 提交到本地仓库。本地仓库中保存修改的各个历史版本
 5. fetch (抓取) : 从远程库,抓取到本地仓库,不进行任何的合并动作,一般操作比较少。
 6. pull (拉取) : 从远程库拉到本地库,自动进行合并(merge),然后放到到工作区,相当于 fetch+merge
 7. push(推送) : 修改完成后,需要和团队成员共享代码时,将代码推送到远程仓库
git练习小网站:
 https://learngitbranching.js.org/?locale=zh_CN
基本配置
设置用户信息
git config --global user.name “Your Name”
git config --global user.email “YourName@example.com”

基本操作
在本地的操作如下图:
 首先要将文件git add 到暂存区,然后再git commit 到本地仓库

常用命令
| 命令 | 含义 | 
|---|---|
| git init | 初始化 | 
| git status | 查看修改状态 | 
| git add | 添加工作区到暂存区 | 
| git commit -m “注释内容” | 提交暂存区到本地仓库 | 
| git reset --hard commitID | 版本回退 | 
| git log | 查看提交日志 | 
1.初始化

2.查看修改状态(status)
现在文件已经创建好,我们可以通过git status查看状态,如下图:

3.添加工作区到暂存区
接下来我们通过git add添加到暂存区,看到下图:

4.提交暂存区到本地仓库
提交到本地仓库:

5.查看提交日志
最后通过git log查看提交日志:
 
其中git log 还有其他几个参数
 –all 显示所有分支
 –pretty=oneline 将提交信息显示为一行
 –abbrev-commit 使得输出的commitId更简短
 –graph 以图的形式显示
如:

 
并且这些参数可以联合使用:
 
所以我们干脆使用这个,此时为了方便,我们可以设置一个别名:
alias git-log='git log --pretty=oneline --all --graph --abbrev-commit'
 
这样以后在git-log时,就可以得到简短且有用的log信息
6.版本回退
7.添加文件至忽略列表
一些文件无需添加至git列表,如日志文件,.idea等,这时,可以在工作目录中创建一个名为 .gitignore 的文件
用通配符指明不需要添加的文件,常见的表示有:
# no .a files
*.a
# but do track lib.a, even though you're ignoring .a files above
!lib.a
# ignore all files in the build/ directory
build/
 
分支
1.基本命令
| 命令 | 含义 | 
|---|---|
| git branch | 查看分支 | 
| git branch 分支名 | 创建分支 | 
| git checkout 分支名 | 切换分支 | 
| git checkout -b (新)分支名 | 创建并切换分支 | 
| git merge 分支名 | 合并分支 | 
| git branch -d 分支名 | 删除分支(不能删除当前分支) | 
(1)创建分支
 仓库初始化后就会自动生成一个master分支,可以创建其他分支,git branch b1
(2)切换分支
 git checkout b1 就可以切换到b1分支
(3) 合并分支
 如果想把b1分支的内容合并到主分支,可以在主分支下运行git merge b1
2.分支冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
 (1)处理文件中冲突的地方
 (2)将解决完冲突的文件加入暂存区(add)
 (3)提交到仓库(commit)
git远程仓库
1.创建远程仓库
可以使用码云gitee或github创建,这里以gitee为例:

2.配置公钥

3.操作远程仓库
| 命令 | 含义 | 
|---|---|
| git remote add <远端名> <仓库路径> | 添加远程仓库 | 
| git remote | 查看远程仓库 | 
| git push <远端名> <分支名> | 推送到远程仓库 | 
| git clone <仓库路径> | 从远程仓库克隆 | 
| git fetch <远端名> <远程分支> | 将仓库里的更新都抓取到本地 | 
| git pull <远程名> <远程分支> | 将远端仓库的修改拉到本地并自动进行合并 | 
先将本地仓库与远程仓库对应 git remote add,这里的远端名只是自己去取的一个名字(也可能本地仓库可以对应其他远程仓库,所以取一个名字,通常是origin)

clone克隆,fetch抓取和pull拉取
clone一般只执行一次;
 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并;
 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
idea配置git
都是一些操作上的,这里就不展开了
参考链接:
 https://www.bilibili.com/video/BV1MU4y1Y7h5p=8&share_source=copy_web



















