目录 1.Git Bash默认路径 2.如何查看Git Bash终端默认路径 3.如何修改Git Bash终端的默认路径 4.拓展:指定目录进入Git Bash终端 5.注意事项 如果您不熟悉Git命令,推荐使用Windows TortoiseGit客户端的可视化操作界面,如果您熟悉常用的Git命令,Git Bash将会是您Windows上更加简洁.高效的客户端.(其中运行的是Linux命令) 1.Git Bash默认路径 在windows系统上操作Git的客户端是Git Bash. 安装完Gi…
目录 1.Git最基础的使用方式 (1)初始化本地版本库 (2)查看文件的状态 (3)把文件添加到暂存区 (4)把暂存区的内容提交到本地版本库 2.总结本文用到的Git命令 1.Git最基础的使用方式 (1)初始化本地版本库 要对现有的某个项目开始使用Git管理,只需到此项目所在的根目录,执行git init命令即可. 准备一个新的Git本地版本库: L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit $ git init Initializ…
目录 1.Git操作最基本的流程 2.工作目录中文件的状态 3.Git效率说明 提示:前面三篇文章已经分别的对blob对象.tree对象.commit对象进行了详细的说明,这篇文章我们总结一下,Git对象在基础操作流程中的生成的时机. 1.Git操作最基本的流程 1)创建工作目录对工作目录进行修改. 2)执行git add ./命令添加文件到暂存区. 相当于执行了如下两个底层命令: git hash-object -w文件名(修改了多少个工作目录中的文件此命令就要被执行多少次) git upda…
目录 1.git diff 命令说明 2.比较工作区与暂存区中文件的差别 3.比较暂存区与本地库中文件的差别 4.总结git diff命令常见用法 5.总结 1.git diff 命令说明 在commit操作之前,我们通常要确定一下自己在什么地方更改了代码,看看有没有误操作代码,这个时候git status命令的显示就比较简单了,仅仅是列出了修改过的文件,如果要查看具体修改了什么地方,就可以使用git diff命令. 比较有用的选项:--stat:显示有多少行发生变化,简洁的展示差异. 2.比较…
目录 1.用学过的命令进行文件重命名 2.使用git mv命令进行文件重命名 我们这篇文章来说说在Git中如何进行文件重命名. 提示一下,下面所说明的是对已经被Git管理的文件进行重命名,未被Git追踪的文件,直接修改文件名称就可以了. 1.用学过的命令进行文件重命名 (1)准备一个需要修改文件名的文件. # 1.准备一个干净的Git仓库 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git status On b…
1.Git和SVN的区别 (1)SVN(集中式版本管理系统) 集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新. Subversion属于集中式版本控制系统. 好处: 每个人都可以一定程度上看到项目中的…
目录 1.Git的历史 2.Git的特点 3.Git在项目协作开发中所解决的问题 1.Git的历史 Git是目前世界上最先进的分布式版本控制系统,开源.免费. Git 是 Linus (林纳斯)为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Tips: Linus在1991年创建Linux,现在已经成为最大的服务器系统软件了. Linux的壮大是靠全世界热心的志愿者: 在2002年以前,世界各地的志愿者把源代码文件发给Linus,然后由Linus本人通过手工方式合并代码!…
目录 1.Git下载 2.Git在Windows下的详细安装 3.验证Git是否安装成功 1.Git下载 进入官方地址下载Git客户端:https://git-scm.com/download/win 国内Git客户端镜像下载地址:[https://npm.taobao.org/mirrors/git-for-windows/]( 在下图的位置进行下载. 2.Git在Windows下的详细安装 运行Git安装文件,在桌面点击下面图标. (1)Step 1 Information(信息) 首先看到…
目录 1.Git版本库介绍 2.创建本地版本库 场景一:创建一个空的本地版本库. 场景二:项目中已存在文件时,创建该项目的本地版本库. 场景三:在GitHub网站上创建仓库,克隆到本地. 1.Git版本库介绍 每个Git版本控制系统的主机中,都可以包含若干个本地版本库,一般情况下一个本地版本库对应一个项目,用于对某个特定项目中的本地文件进行版本管理.其实,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除等操作Git都能跟踪到,以便任何时刻都可以追踪历史…
目录 1.配置Git签名 (1)语法 (2)配置系统用户签名 (3)配置全局用户签名 (4)配置本地用户签名 2.查看三个配置文件的用户签名 (1)语法 (2)查看项目/仓库级别的配置文件信息(local) (3)查看用户/全局级别的配置文件信息(global) (4)查看系统级别的配置文件信息(system) (5)查看当前系统中Git的所有配置信息 3.总结 1.配置Git签名 (1)语法 $ git config 配置文件作用域 user.name '用户名' $ git config 配…
目录 1.修改用户签名 2.取消用户签名 3.用户签名的优先级 4.总结本文用到的Git命令 1.修改用户签名 其实很简单,就是重新执行git config命令,换个用户名和邮箱地址就可以了,新配置的内容会覆盖之前配置的内容,达到了用户签名的修改. 以系统用户为例: # 查看系统级别的用户配置 L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master) $ git config --list --system diff.astext…
目录 1.Git本地版本库结构 2.Git常用操作方法 3.补充:添加多个文件到暂存区 4.补充:提交操作未写备注 5.补充:从工作区直接提交到版本库 1.Git本地版本库结构 如下图所示: 工作区(Working Directory) 添加.编辑.修改.删除文件等操作. 暂存区(Stage) 打算提交,但还没提交的内容.最后可以统一提交到Git仓库中.也可以不提交,撤销回来. Git仓库(Git Repository) 实实在在的项目存储的每个一历史的版本. 2.Git常用操作方法 Git的专…
目录 1.忽略文件说明 2.忽略文件的原则 3..gitignore忽略规则 4.忽略文件的三种方式 (1)忽略单个仓库中的文件(远程共用) (2)忽略单个仓库中的文件(本地使用) (3)全局忽略 1.忽略文件说明 有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们到本地版本库,通常都是些自动生成的文件.日志文件.系统缓存文件.编译过程中创建的临时文件,或者保存了数据库密码的配置文件.人隐私文件等等,每次执行git status命令时,都会显示Untracked files ...…
目录 1.撤销操作说明 2.撤销工作区中文件的修改 3.撤销暂存区中文件的修改 4.总结 1.撤销操作说明 我们在使用Git版本管理时,往往需要撤销某些操作.比如说我们想将某个修改后的文件撤销到上一个版本,或者是想撤销某次多余的提交,都要用到Git的撤销操作,因此撤销操作在平时使用中还是比较多的. 本文介绍几种,对于已修改过的文件,需要进行撤销操作,根据修改文件出现的位置,可以分为三种情况: 仅仅是工作区中内容进行了修改,还未添加到暂存区. 文件已经添加到暂存区,但是还未提交到本地版本库. 文件…
目录 1.查看详细的历史版本记录 2.简化显示历史版本记录 3.历史版本记录常用操作 (1)指定查看最近几次提交的内容 (2)以简单图形的方式查看分支版本历史 (3)翻页与退出 4.查看分支相关的版本历史记录 (1)查看指定分支版本历史 (2)查看所有分支历史版本 5.总结 6.拓展:git blame命令 通过git log命令可以查看详细的历史版本信息. git log命令非常强大而好用,在复杂系统的版本管理系统中扮演着重要的角色,这也说明git log命令在日常工作当中还是非常有用的. 例…
目录 1.git log命令说明 2.git log命令参数 (1)不带参数 (2)常用显示参数 (3)--pretty参数 (4)--date=参数 (5)筛选参数 git log命令主要用于查看Git版本演变历史(也就是提交历史),同时根据追加的参数和选项不同,也会有不同的展示效果. 但默认git log命令显示出的x效果实在太丑,不好好打扮一下根本没法见人,打扮好了用alias命令拍个照片,就正式出道了! 1.git log命令说明 git log用于查询版本的历史,命令形式如下: git…
目录 1.什么是Git命令的别名 2.别名的全局配置 3.别名的局部配置 4.删除所有别名 5.小练习 1.什么是Git命令的别名 Git中命令很多,有些命令比较长,有些命令也不好记,也容易写错. 例如:你有没有经常敲错命令?比如git status?如果敲git st就表示git status那就简单多了. Git 并不会在你输入部分命令时,自动推断出你想要执行的命令. 如果不想每次都输入完整的Git命令,可以通过 git config 文件来轻松地为每一个命令设置一个别名. 也就是给stat…
目录 1.标签介绍 2.列出标签 3.创建标签 (1)标签的分类 (2)附注标签 (3)轻量标签 4.后期打标签 1.标签介绍 软件的某个发行版本所对应的,其实就是软件开发过程中,某一个阶段的最后一次git commit提交.我们知道每一个提交操作,对应的都会生成一个commit-id,而标签就是与某一个commit-id绑定的名称.一个标签一旦与某一个commit-id绑定,那么该标签就不能修改绑定到其它commit-id了,除非将该标签删除后才可以与其commit-id绑定. 标签对象(ta…
目录 1.Tree对象介绍 2.Tree对象说明 (1)初始化一个新的本地版本库 (2)创建一个树对象(重点) (3)创建第二个文件(重点) (4)将第一个树对象加入暂存区,使其成为新的树对 3.总结 (1)分析每个树对象的存储结构 (2)blob对象和tree对象(重点) (3)总结(重点) 4.问题 5.本文用到的命令总结 1.Tree对象介绍 接下来要探讨的 Git 对象类型是树对象(tree object),它能解决文件名保存的问题.tree对象可以存储文件名,也允许我们将多个文件组织到…
目录 (一)Git对象的存放目录 (二)Git中对象类型 (三)blob对象 1.blob对象说明 (1)blob对象定义 (2)blob对象说明 (3)blob对象存储的方式 (4)查看blob对象内容 (5)查看Git对象的类型 (6)Git管理文件 (7)Git管理修改过的文件 2.blob对象总结 3.问题 4.本文用到的命令总结 Git 是一套内容寻址文件系统.什么意思呢? 就是Git的核心部分是一个简单的键值数据库(key-value data store).你可以向该数据库插入任意…
目录 1.Commit对象介绍 2.Commit对象说明 3.本地库中对象之间的关系 4.总结 5.练习 6.本文用到的命令总结 1.Commit对象介绍 现在来介绍最后一种Git对象commit对象,也叫提交对象. 提交对象可以理解为是对树对象的一层封装,提交信息包括基于当前暂存区中索引文件生成的tree对象,还有包含了提交时间,提交者信息,作者信息,以及提交备注等内容,更重要的是里面还包含了父提交的ID,由此就可以形成Git提交的有向无环图.(是链式的关系,把所有commit对象关联起来)…
目录 1.Git的三种后悔药 2.revert命令原理 3.revert命令的使用 (1)移除某次提交的修改 (2)revert命令说明 1.Git的三种后悔药 在Git中后悔药有三种:amend.revert.reset. git commit --amend:新的提交覆盖上一次提交的内容. git revert:提交一个新的commit,来撤销之前的commit. git reset:直接回滚到指定的commit. --soft:只回退版本库,工作区和暂存区的内容不回退. --mixed(默…
目录 1.Git对象之间的关系 2.提交对象与分支的关系 (1)提交对象与分支的关系 (2)分支说明 (3)HEAD与分支的关系 1.Git对象之间的关系 我们之前学了Git的三个对象:提交对象.树对象.数据对象. 我们假设现在有一个工作目录,里面进行了三次提交,包括一次新增文件和两次对文件的修改. 每次一把工作区中的文件添加到暂存区时,暂存操作会为每一个文件计算校验和,然后会把当前版本的文件快照(即文件的内容)保存到 Git 仓库中 (Git 使用 blob 对象来保存它们),最后将校验和加入…
目录 6.新建一个分支并且使分支指向指定的提交对象 7.思考: 8.项目分叉历史的形成 9.分支的总结 提示:接上篇 6.新建一个分支并且使分支指向指定的提交对象 使用命令:git branch branchname commitHash. 我们现在本地库中只有一个 master 分支,并且在 master 分支有三个提交历史. 需求:创建一个 testing 分支,并且testing 分支指向 master 分支第二个版本. # 1.查看提交历史记录 L@DESKTOP-T2AI2SU MIN…
目录 1.DockerFile文件说明 2.Dockerfile构建过程解析 (1)Docker容器构建三步骤 (2)Dockerfile文件的基本结构 (3)Dockerfile注意事项 (4)Docker执行Dockerfile的大致流程 3.总结 4.DockerFile保留字指令 1.DockerFile文件说明 (1)DockerFile文件是什么 Dockerfile是用来构建Docker镜像的文本文件,文本内容包含了一条条构建镜像所需的指令.参数和说明. 即:Dockerfile仅…
目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像,当前新镜像是基于哪个镜像的. MAINTAINER:镜像维护者的姓名和邮箱地址. RUN:容器构建时需要运行的命令. EXPOSE:当前容器对外暴露出的端口(端口映射). WORKDIR:指定在创建容器后,终端默认登陆进来的工作目录,一个落脚点,也就是pwd的位置. ENV:用来在构建镜像过程中设…
目录 1.什么版本回退 2.需要了解两个知识点 (1)HEAD是什么 (2)HEAD指针用法 3.git reflog命令介绍 1.什么版本回退 版本回退也可以叫回滚. 若修改过的文件,不仅添加到了暂存区,还提交到了本地版本库,还能撤销吗? 已经无法撤销修改了,但是可以回退到修改前的版本. 版本回退也是撤销操作的一种,但我更愿意和前两种撤销操作分开理解. 引用廖雪峰比喻: 你不断对文件进行修改,然后不断提交修改到版本库里,就好比玩RPG游戏时,每通过一关就会自动把游戏状态存盘,如果某一关没过去,…
git reset --mixed commit-id命令:回退到指定版本.(mixed:混合的,即:中等回退.) 该命令不仅修改了分支中HEAD指针的位置,还将暂存区中数据也回退到了指定版本. 但是工作区中的版本仍是回退前的版本. --mixed参数是git reset命令的默认选项. 示例开始: 首先在版本库中的readme.txt文件中添加一行内容,并提交该内容.我们的目的就是要再回退到该版本. 1.查看本地版本库日志. # 1.使用git log查看历史版本记录 L@DESKTOP-T2…
目录 1.--soft回退说明 2.--mixed回退说明 3.--hard回退说明 4.总结 在Git中进行版本回退需要使用git reset命令. 以前面文章中的示例为例,当我准备在V4版本,回退到V3版本的时候,分支中的提交和工作目录中文件的状态,如下图所示: 我们分别执行了三种回退方式: git reset --soft HEAD^:温柔的回退. git reset --mixed HEAD^:中等回退. git reset --hard HEAD^:强硬的回退. (我们从英文中就可以看…
目录 4.一次移除某几次提交 (1)git revert移除某几次提交的修改 (2)git revert 移除某几次连续的提交的修改 5.revert命令常用参数 6.git revert和git reset命令的区别 提示:接上一篇文章. 4.一次移除某几次提交 上一篇文章的演示中,只有两个提交需要 revert,我们可以一个个回退.但如果有几十个呢?一个个回退肯定效率太低而且容易出错. (接上面示例) 我们可以使用以下方法进行批量回退: (1)git revert移除某几次提交的修改 命令:…