当前位置:   article > 正文

Cmder教程及其内置Git的使用教程(与直接安装Git使用教程相同)

cmder

主要学习记录一下Cmder的使用、Git的使用及Cmder与Git的联动


观看Git直达: Git的使用


一、Cmder

Cmder是cmd的豪华版,可以直接鼠标右键在任何文件夹位置cmd,无需cd命令,可以更换cmder背景图片和透明度,设置默认以cmd管理员身份启动,整体来说可以完全取代cmd。

1、安装

官网直接下载:http://cmder.app/
在这里插入图片描述


进入官网以后,有上图中所指1.mini版和2.full版,推荐下载完整版,功能命令齐全,使用Git需要下载完整版,下载好解压文件包以后就可以使用。我将其解压在D:\cmder文件夹,在系统环境变量中Path下加入D:\cmder系统变量,如下:
在这里插入图片描述

以管理员身份打开cmd,执行以下命令即可,完了以后在任意地方点击右键即可使用cmder:

Cmder.exe /REGISTER ALL
  • 1

2、使用

在桌面任意处或文件夹任意地方右键,即可选择启动cmder,进入界面如下:

在这里插入图片描述
首先使用windows+alt+p进入界面设置:

在这里插入图片描述


可选择中文界面,也可以在图中位置选择cmder默认启动方式,如课设置默认以管理员方式启动:


在这里插入图片描述


cmder/vendor中的clink.lua内做如下修改"λ"替换成"$"
在这里插入图片描述
有个很有意思的设置如下:


在这里插入图片描述
可以设置cmder背景图片如下:
在这里插入图片描述
其他设置可凭自己的编程习惯百度修改。

二、Git

1、Git简介

一般工作流程如下:

  1. 从远程仓库中克隆 Git 资源作为本地仓库。
  2. 从本地仓库中checkout代码然后进行代码修改。
  3. 在提交前先将代码提交到暂存区。
  4. 提交修改。提交到本地仓库。本地仓库中保存修改的各个历史版本。
  5. 在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。
    在这里插入图片描述

2、Git安装

官网下载地址:https://git-scm.com/download

Git客户端安装过程自行百度吧,修改安装路径后基本上一路点下去就可以了。

3、Git的使用

由于直接安装git后使用git bash的exe文件与直接使用前文所提过的cmder full版本中的git for windows没有区别,所以关于git的使用主要在cmder中的git bash命令中讲解,所使用命令完全可以在git端直接运行

3.1、Cmder中配置Git

注:不使用cmder的读者可直接观看下一节Git的使用(cmder)


使用windows+alt+p进入界面设置:


在这里插入图片描述
按上图顺序配置git,其中第3,4步git名字可任意命名。
第5步的作用是给这个git命令分配一个好看的图标,直接利用了cmder中安装的git的内置图标,路径为:

/icon "D:\cmder\vendor\git-for-windows\usr\share\git\git.ico"
  • 1

其中的D:\cmder替换为自己的cmder安装路径。
第6步最重要,起作用是打开这个git命令时选择让它实际执行的命令,命令路径为D:\cmder\vendor\git-for-windows\bin\sh.exe,同理,替换前面的D:\cmder为自己的路径。
配置好之后,在任意位置右键点开cmder,按下图所示顺序即可打开cmder中内置的git bash命令。
在这里插入图片描述

3.2、Git的使用(cmder)

3.2.1、配置用户名和邮箱

打开git bash命令窗口,执行如下命令:

git config --global user.email "dreamer5z@163.com"
  • 1
git config --global user.email "dreamer5z"
  • 1

在这里插入图片描述
因为Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,大家可以在对应位置填写自己的用户名和邮箱

注意:git config --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。可自行百度。

3.2.2、创建版本库

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

所以创建一个版本库也非常简单,如下我是F盘 –> Git目录下新建一个testgit版本库。在命令窗口通过cd命令打开该目录F:\Git\testgit(cmder用户可直接在该目录下右键执行cmder打开后选择git bash命令)。
(1)通过命令git init把这个目录变成git可以管理的仓库,如下:

git init
  • 1

在这里插入图片描述
这时当前testgit目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要手动乱改这个目录里面的文件,否则,会把git仓库给破坏了。如下:
在这里插入图片描述
(2)把文件添加到版本库中
在这里插入图片描述
Git提交文件到版本库有两步:
第一步:是使用git add把文件添加进去,实际上就是把文件添加到暂存区。
第二步:使用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支上。

首先要明确下,所有的版本控制系统,只能跟踪文本文件的改动,比如txt文件,网页,所有程序的代码等,Git也不列外,版本控制系统可以告诉你每次的改动,但是图片,视频这些二进制文件,虽能也能由版本控制系统管理,但没法跟踪文件的变化,只能把二进制文件每次改动串起来,也就是知道图片从1kb变成2kb,但是到底改了啥,版本控制也不知道。

第一步:在版本库testgit目录下新建一个记事本文件 test.txt 内容如下:
hello 你好,使用命令git add test.txt添加到暂存区里面去。如下:

git add test.txt
  • 1

在这里插入图片描述
第二步:用命令git commit告诉Git,把文件写入到本地仓库。注:命令git commit -m “注释内容”可在每次commit时添加注释。

git commit -m "add test.txt"
  • 1

在这里插入图片描述
使用git status命令查看是否还有文件修改但未写入到仓库:

git status
  • 1

可见所有文件都已写入仓库。

第三步:继续修改下readme.txt内容,比如在下面添加一行World 世界内容,继续使用git status来查看下结果,如下:
在这里插入图片描述
可以看到命令检测出了test.txt文件已经有修改但并未commit到仓库。
接下来可以使用git diff test.txt命令看看test.txt改了什么内容:

git diff test.txt
  • 1

在这里插入图片描述
如上可以看到,test.txt文件内容从一行hello 你好改成二行添加了一行World 世界内容。

注:我在这一步开始时中文部分显示不出来,显示出来是十六进制乱码,如:

<B3><A6><F2><D5>...
  • 1

之后的git log命令也可能出现这种情况,解决方法如下:
直接在git bash中输入如下设置命令:

git config --global core.quotepath false 
git config --global gui.encoding utf-8
git config --global i18n.commit.encoding utf-8 
git config --global i18n.logoutputencoding utf-8 
# bash 环境下
export LESSCHARSET=utf-8
# cmd环境下:
set LESSCHARSET=utf-8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

并将将最后一个变量LESSCHARSET和对应值utf-8添加到Windows环境变量中:
在这里插入图片描述
知道了对test.txt文件做了什么修改后,继续提交到仓库,提交修改和提交文件是一样的2步(第一步是:git add 第二步是:git commit)。如下:

git add test.txt
  • 1
git commit -m "add World 世界 to test.txt"
  • 1
git status
  • 1

在这里插入图片描述
git status查看发现文件全部提交。

3.2.3、版本切换

如上,我们已经学会了修改文件,现在我继续对test.txt文件进行修改,再增加一行内容为begin 开始.继续执行命令如下:
在这里插入图片描述
现在已经对test.txt文件做了三次修改了,可以使用git log查看下历史记录,(注:出现中文十六进制乱码请参考这里)如下所示:

git log
  • 1

在这里插入图片描述
git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是add begin 开始 to test.txt,上一次是add World 世界 to test.txt,第一次默认是add test.txt。如果嫌上面显示的信息太多的话,可以使用命令git log --pretty=oneline演示如下:

git log --pretty=oneline
  • 1

在这里插入图片描述
现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?

可以使用如下2种命令,第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^改成 HEAD^^以此类推。那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset --hard HEAD~100即可。

cat test.txt
git reset --hard HEAD^
cat test.txt
  • 1
  • 2
  • 3

在这里插入图片描述
执行回退命令前用命令cat test.txt查看test.txt文档中的内容;执行回退命令git reset --hard HEAD^ ;再执行命令cat test.txt查看test.txt文档中的内容。可以看到,内容已经回退到上一个版本了。我们可以继续使用git log来查看下历史记录信息,可以看到提交的add begin 开始 to test.txt记录没有了。

如果又想回退到最新的版本,如:有begin 开始的内容要如何恢复呢?我们可以通过版本号回退,使用命令方法如下:

git reset --hard 版本号,但是现在的问题假如我已经关掉过一次命令行或者333内容的版本号我并不知道呢?要如何知道增加3333内容的版本号呢?可以通过如下命令即可获取到版本号:git reflog演示如下:

git reflog
  • 1

在这里插入图片描述
通过上面的显示我们可以知道,增加内容begin 开始的版本号是3fd89b1.我们现在可以使用命令git reset --hard 3fd89b1来恢复了。演示如下:

git reset --hard 3fd89b1
  • 1

在这里插入图片描述

3.2.4、Git撤销修改和删除文件操作

1、撤销修改
第一:如果知道要删掉哪些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。

第二:可以按以前的方法直接恢复到上一个版本。使用git reset --hard HEAD^

第三:新方法,命令git restore – test.txt,该命令的意思是将工作区修改的文件(即还没有add到暂存区)恢复到最近一次add到暂存区的内容状态。演示如下:
test.txt中新增一行内容12345,执行如下命令:

cat test.txt
git restore -- test.txt
cat test.txt
  • 1
  • 2
  • 3

在这里插入图片描述
2、删除文件
在版本库testgit目录添加一个文件b.txt,然后提交。如下:
在这里插入图片描述
在这里插入图片描述

直接在目录下删除b.txt文件或者使用命令git rm b.txt,然后commit,如下:

git rm b.txt
  • 1

在这里插入图片描述

4、Git与Github的使用

4.1、Github的配置

现在我们已经在本地创建了一个Git仓库,又想让其他人来协作开发,此时就可以把本地仓库同步到远程仓库,同时还增加了本地仓库的一个备份。

常用的远程仓库就是github:https://github.com,接下来我们演示如何将本地代码同步到github。

在github上创建一个账号,然后在github上创建一个仓库:
在这里插入图片描述
在这里插入图片描述
按图所示输入远程仓库名,选择公有(可被其他人看到)还是私有(Github被微软收购后创建私有库免费),点击创建仓库。
在这里插入图片描述

Github支持两种同步方式“https”和“ssh”。

如果使用https很简单基本不需要配置就可以使用,但是每次提交代码和下载代码时都需要输入用户名和密码。

所以我们使用ssh方式,只需要生成一个密钥对(一个公钥一个私钥),然后把公钥放到github的服务器上,之后首次连接需要输入用户名和密码,后面便可直接连接。

第一步:创建SSH Key。在用户主目录下,如我的目录为C:\Users\hfut2,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:ssh-keygen -t rsa

ssh-keygen -t rsa
  • 1

中途遇到选项直接按Enter,使用默认设置即可。
在这里插入图片描述
这是引用的别人的图,我的已经安装过了,所以会显示如下:
在这里插入图片描述
执行命令完成后,在window本地用户.ssh目录C:\Users\hfut2.ssh下面生成如下名称的公钥和私钥:
在这里插入图片描述
密钥生成后需要在github上配置密钥本地才可以顺利访问:
在这里插入图片描述
在这里插入图片描述
在key部分将id_rsa.pub文件内容添加进去,然后点击Add SSH key按钮完成配置:
在这里插入图片描述

4.2、同步到远程仓库

现在,我们根据GitHub的提示,在本地的testgit仓库下(F:\Git\testgit)运行命令:

git remote add origin git@github.com:dreamer5z/testgit.git
git push -u origin master
  • 1
  • 2

如果出现如下错误:
在这里插入图片描述
可以先执行如下命令,然后再执行上面的命令:

git remote rm origin
  • 1

在这里插入图片描述
把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了 –u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。第一次执行push命令时需要Github的账户和密码,推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,如下所示:
在这里插入图片描述
从现在起,只要本地作了提交,就可以通过如下命令:

git push origin master
  • 1

把本地master分支的最新修改推送到github上了,现在你就拥有了真正的分布式版本库了。

未完待续

to do:
创建、合并和推送分支
Github多人协作

参考博客

https://blog.csdn.net/weixin_44950987/article/details/102619708

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/996334
推荐阅读
相关标签
  

闽ICP备14008679号