# 工具使用
## Git
[https://gitee.com/yjliankuan/git-test.git](https://gitee.com/yjliankuan/git-test.git)
### 常用基本操作:
+ 配置用户名与邮箱:
```
git config --global user.name "昵称"
git config --global user.email "邮箱"
```
+ 查看当前设置的用户名与邮箱:
```
git config user.name
git config user.email
```
+ 拉取远程项目:`git clone [url] `
+ 查看当前项目修改变动文件:`git status`
+ 查看当前项目具体修改变动细节:`git diff`
+ 查看当前项目对应远程地址: `git remote -v`
+ 查看提交历史记录:`git log`
- `--stat`: 以文件形式罗列
- `-p`: 展示历史变动提交细节
- `-数字`: 查看最近几次的提交历史记录
+ 提交代码到暂存区:`git add <file>`
+ 从暂存区内的文件中抽回提交: `git reset HEAD <file>`
+ 提交到: `git commit -m '备注'`
+ 提交到远程仓库:`git push`
+ 拉取最新代码: `git pull`
+ 代码回滚到历史版本:`git revert <提交历史版本id>`
+ 本地代码回滚指定版本:`git reset --hard <提交历史版本id>`
+ ...
### 代码冲突如何解决?
- `git stash` 保存进度
- `git stash list` 查看所有保存的进度记录
- `git pull` 拉取最新代码
- `git stash pop stash@{0}` 将本地保存进度的代码与拉取下来的新代码合并
- <解决文件中冲突的的部分>
- `git stash drop` 删除最新保存的进度
```
git stash show 显示stash合并到本地代码后,哪些文件会修改,以及修改的概述
git stash show -p stash@{0} 显示修改的详细内容
git stash drop [stash_id] 删除指定进度,若不指定,则默认删除最新的存储进度
git stash clear 删除所有存储的进度
```
### 分支管理:
- `git branch -a`
- `git checkout [分支名]`
- `git checkout -b [分支名]` 创建新分支并切换到该新分支
- `git checkout --orphan [分支名]` 创建新空分支并切换到该新空分支
- 此时若还是有原分支文件,可执行`git rm -rf .` 或 `rm -rf .`清空当前新开的分支的所有内容
- 添加新内容后,再`git commit - m "备注"`
- 此时执行`git branch -a`即可查看到新创建的新空分支了
- `git branch -d [分支名]` 删除分支
- `git branch -D [分支名]` 删除分支(即使当前所在的分支就是要删除的分支,也强制删除)
- `git merge [分支名]` 将该分支合并到当前分支
- `git reflog` 查看所有分支的所有操作记录
- 切换分支冲突解决:
- `git stash`
- 然后再切换: `git checkout [分支名]`
- 再追加: `git stash apply`
-------------------------------------
###
git清除用户名密码
问题:
remote: HTTP Basic: Access denied
fatal: Authentication failed for 'http://********
解决方案:
git config --system --unset credential.helper
之后再进行git操作时,弹出用户名密码窗口,输入即可
###
git记住用户名密码
我之前就是每一次操作都要输入用户名和密码,繁琐得很。现在给各位分享下git永久保存账户名和密码。
方法一:
安装好git之后一般会在C盘的C:\Users\Administator目录下生成 .gitconfig配置文件。用文档编辑工具打开该文件
添加:
[user]
name = wb-ly409739 //你的用户名
email = wb-ly409739@alibaba-inc.com //你的git邮箱账号
[credential]
helper = store
如图:
然后保存就可以了。
方法二:
直接在git bash 中执行命令:git config --global credential.helper store
在输入一次账号密码就可以保存了
## Docker
+ 根据Dockerfile文件自动生成docker容器镜像:
```
docker build -t <Dockerfile文件所在路径> .
```
+ 根据镜像生成容器:
```
docker run -it -p <端口映射> --name <新容器名称> -v <目录映射> <容器名称或容器id> /bin/bash
```
+ 根据容器生成镜像:
```
docker commit -a 作者名 -m 描述 <容器id> <镜像名称>[:tag]
```
+ 拉取镜像(以centos为例): `docker pull centos[:指定版本]`
+ 退出容器但是不结束容器可以采用按住`ctrl+p+q`,若想再次进入:`docker attach 容器名/容器Id`
+ 如果想要退出同时结束容器可以采用输入命令 `exit`
+ 列出所有正运行的容器:`docker ps`
+ 停止运行容器:`docker stop <容器id>`
+ 删除容器:`docker rm [-f] <容器id>`
+ 查看容器的日志: `docker logs <容器id>`
+ 启动并进入容器内部:`docker exec -it <容器id> /bin/bash`
+ 删除镜像: `docker rmi <镜像id>`