Git && Docker 学习笔记

注意:该文章摘抄之百度,仅当做学习笔记供小白使用,若侵权请联系删除!


目录

列举工作中常用的几个git命令?

提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?

git的4个区域及转换

如果代码出现bug,你们是如何解决的?

[git rebase的作用?](#git rebase的作用?)

列举工作中常用的几个git命令?

提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?

[你使用过git stash命令吗?你一般什么情况下会使用它?](#你使用过git stash命令吗?你一般什么情况下会使用它?)

如何查看分支提交的历史记录?查看某个文件的历史记录呢?

[git pull 和 git fetch 有什么区别?](#git pull 和 git fetch 有什么区别?)

什么是Docker?

如何查看当前运行的Docker容器?

如何停止和启动Docker容器?

如何删除Docker镜像和容器?

如何列出本地的Docker镜像?

怎样使用Dockerfile创建镜像?

使用容器流程

删除容器

启动docker

镜像常用命令

容器常用命令


列举工作中常用的几个git命令?
远程仓库中clone代码到本地:git  clone https://github.com/MatchlessHeroVIP/ssmtest.git
新增文件的命令:git add file或者git add .
提交文件的命令:git commit --m或者git commit --a
本地仓库提交到远程仓库:git push
查看工作区状况:git status --s
拉取合并远程分支的操作:git fetch/git merge或者git pull
查看提交记录命令:git reflog
切换到主分支: git checkout master
提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?

我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。 发生冲突,在IDE里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件, 然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。 发生冲突,也可以使用命令。

通过git stash命令,把工作区的修改提交到栈区,目的是保存工作区的修改;

通过git pull命令,拉取远程分支上的代码并合并到本地分支,目的是消除冲突;

通过git stash pop命令,把保存在栈区的修改部分合并到最新的工作空间中;

git的4个区域及转换
Git本地有三个工作区域:工作目录(WorkingDirectory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。
如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:
Workspace:工作区,就是你平时存放项目代码的地方;
Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息,
一般存放在 .git 目录下的index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index);
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本;
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换;
如果代码出现bug,你们是如何解决的?

创建一个bug分支,然后进行bug处理,处理完毕后,合并到review分支,组长review成功后才能够合并到master 合并完成之后删除bug分支 回到dev分支继续开发。

git rebase的作用?

场景:在公司开发忘记提交到github托管,在家里又继续开发新的功能, 然后到公司昨天的代码跟你的新功能合并的时候可以用git fecth --->git rebase 那么他的提交记录就不会出现分叉,保持了提交记录的整洁.

列举工作中常用的几个git命令?
新增文件的命令:git add file或者git add .
提交文件的命令:git commit --m或者git commit --a
查看工作区状况:git status --s
拉取合并远程分支的操作:git fetch/git merge或者git pull
查看提交记录命令:git reflog
提交时发生冲突,你能解释冲突是如何产生的吗?你是如何解决的?

开发过程中,我们都有自己的特性分支,所以冲突发生的并不多,但也碰到过。 诸如公共类的公共方法,我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。 发生冲突,在IDE里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件, 然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。 特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突

你使用过git stash命令吗?你一般什么情况下会使用它?

命令git stash是把工作区修改的内容存储在栈区。

以下几种情况会使用到它:

解决冲突文件时,会先执行git stash,然后解决冲突;

遇到紧急开发任务但目前任务不能提交时,会先执行git stash,然后进行紧急任务的开发,然后通过git stash pop取出栈区的内容继续开发;

切换分支时,当前工作空间内容不能提交时,会先执行git stash再进行分支切换;

如何查看分支提交的历史记录?查看某个文件的历史记录呢?
查看分支的提交历史记录:
命令git log --number:表示查看当前分支前number个详细的提交历史记录;
命令git log --number --pretty=oneline:在上个命令的基础上进行简化,只显示sha-1码和提交信息;
命令git reflog --number: 表示查看所有分支前number个简化的提交历史记录;
命令git reflog --number --pretty=oneline:显示简化的信息历史信息;
git pull 和 git fetch 有什么区别?

git pull 命令从中央存储库中提取特定分支的新更改或提交,并更新本地存储库中的目标分支。

git fetch 也用于相同的目的,但它的工作方式略有不同。

当你执行 git fetch 时,它会从所需的分支中提取所有新提交,并将其存储在本地存储库中的新分支中。

如果要在目标分支中反映这些更改,必须在 git fetch 之后执行git merge。

只有在对目标分支和获取的分支进行合并后才会更新目标分支。

为了方便起见,请记住以下等式: git pull = git fetch + git merge

什么是Docker?

答:Docker是一个开源的容器化平台,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,从而在任何Docker运行的环境中实现一致的运行

如何查看当前运行的Docker容器?

使用docker ps命令可以查看当前运行的容器。加上-a参数可以看到所有容器,包括未运行的

如何停止和启动Docker容器?

使用docker stop 可以停止容器。使用docker start 可以启动容器

如何删除Docker镜像和容器?

使用docker rm 删除镜像,使用docker rm 删除容器。如果容器正在运行,首先需要停止容器

如何列出本地的Docker镜像?

使用docker images命令

Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

输出Hello world

runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world
怎样使用Dockerfile创建镜像?

使用docker build命令,如docker build -t myimage:latest .。

使用容器流程

获取镜像

如果我们本地没有 ubuntu 镜像,我们可以使用 docker pull 命令来载入 ubuntu 镜像:

$ docker pull ubuntu

  • 启动容器

以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:

$ docker run -it ubuntu /bin/bash 参数说明: -i -t ubuntu /bin/bash

查看所有的容器命令如下:

$ docker ps -a

  • 使用 docker start 启动一个已停止的容器:

$ docker start b750bbbcfd88

  • 后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

  • 停止的容器可以通过 docker restart 重启:

$ docker restart <容器 ID>

  • 进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入: docker attach docker exec :推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止

删除容器

删除容器使用 docker rm 命令:

$ docker rm -f 1e560fca3906

启动docker

systemctl start docker && systemctl enable docker

镜像常用命令
# 镜像命令
docker version # 检查版本
docker info  # 检查docker基本信息
docker search [centos]  # 搜索镜像
docker pull [centos]  # 拉取镜像
docker images # 查看已下载的镜像
docker rmi [...] # 删除镜像
docker load -i 路径  # 导入镜像
docker save -o 路径  # 保存镜像
容器常用命令
# 容器命令
eg: docker run -itd --name ubuntu-test ubuntu /bin/bash   # docker 的服务是在后台运行的,可以通过-d 指定
docker run [参数]  images 命令
-c  # 加待完成的命令
-d  # 后台运行,并返回ID
-i  # 交互式运行
-t  # 分配一个伪输入终端
-p  # 端口
-P  # 随机端口
-v  # 给容器挂载存储卷

docker build # 创建镜像
docker logs [ID] # 查看容器日志
docker rename 旧 新 # 修改名称
docker top [ID] # 查看容器内进程
docker ps -a # 列出所有容器的(不加-a 就是在运行的)
docker kill/stop [ID] # 杀掉容器
docker start [ID] # 启动容器
docker restart [ID] # 重启容器
相关推荐
ZXF_H38 分钟前
pip安装github上的开源软件包
git·python·github·pip
一尘之中2 小时前
使用 PyTorch TunableOp 加速 ROCm 上的模型
人工智能·pytorch·学习
honey ball2 小时前
LLC与反激电路设计【学习笔记】
单片机·嵌入式硬件·学习
kaiyuanheshang5 小时前
docker 中的entrypoint和cmd指令
运维·docker·容器·cmd·entrypoint
如生命般费解的谜团5 小时前
LLM学习笔记(7)Scaled Dot-product Attention
人工智能·笔记·学习·语言模型·json
Python私教6 小时前
除了 Docker,还有哪些类似的容器技术?
运维·docker·容器
Mephisto.java7 小时前
【大数据学习 | Spark-Core】详解Spark的Shuffle阶段
大数据·学习·spark
南宫生7 小时前
力扣-位运算-3【算法学习day.43】
学习·算法·leetcode
xnuscd7 小时前
Milvus概念
数据库·学习·mysql