git 笔记

前言

自己之前搭建自己的网站的时候,有使用过 git ,但是没有系统的学习过,现在终于可以系统的学一遍了

刚好自己现在的 git bash 出现了一些问题,早一段时间,我想要在个人博客网站上面更新一些内容,然后发现更新不了,不知道是因为更新了一些文件还是啥原因
在这里插入图片描述
所以上一次更新还是差不多一个月之前

一些代码托管仓库

gitee
github

要是想自己搭建一个类似于 github 的平台,可以参考这个开源项目 gitlab

初步的一些理解

git 是一个版本管理工具,就是可以支持多人协同开发,然后迭代开发,有三个部分,工作区,暂存区,版本库

工作区把代码存到暂存区,再存到版本库,相当于中间有一个缓存的一个作用

设置个人信息

git config --global user.name tzs设置自己的名字

git config --global user.email tian_zishen@qq.com设置自己的邮箱

虽然我知道这个有直接的命令可以复制,但是我还是老老实实自己手敲一遍,因为自己是一个初学者,老老实实,扎扎实实学一遍肯定是有一些好处的

创建自己的仓库

git init
在这里插入图片描述
进入创建的这个隐藏的文件夹,可以发现里面一堆文件

感觉后面任重道远,还有很多很多东西要学,但是没有关系,进一步有进一步的欢喜,不要太着急,慢慢来

今天是 12 号,今天能把 git 学完,把十个作业写完就算胜利,加上干各种事情,还有 10 个小时的时间

查看仓库的状态

git status
在这里插入图片描述

添加文件到暂存区

git add readme.txt
在这里插入图片描述

可以发现前面红色的文件名变成绿色了,之前添加可执行文件的权限的时候,也会发生颜色的变化

git add .表示把所有的文件加到暂存区里面

把暂存区的文件添加到版本库

git commit -m "no.1"注意空格,然后双引号里面的内容相当于注释信息在这里插入图片描述

另外笔者发现 git 敲击 tab 键没有代码补全,所以一些英文可能需要自己把它记清楚

commit 之后,暂存区会清空

查询两个文件之间的区别

git diff readme.txt ,其实就是 difference 的英文缩写

在这里插入图片描述

出现一堆估计只有机器能够明白的东西,因为我修改的文件全是中文(修改之前全是中文,修改是又加了一些中文上去)

有很多很多命令,可能最后常用的也不算多,自己先全部敲一遍,留一个印象,然后常用的敲的多了肯定就记住了,所以完全不需要有任何压力

我使用的终端,输入的时候虽然不支持中文,但是在查看文本文件的时候,还是可以显示中文的

查看版本迭代信息

git log
在这里插入图片描述
这个是从下往上看,最下面是最原始的版本,最上面是最新的版本

或者用这个命令,一行显示一个版本信息,可能更加清晰
git log --pretty=oneline,很多命令后面空格,加上 --,其实笔者感觉这个非常接近英文的一些自然语言,pretty表示的是美观的,然后一行,用一行美观的显示,一眼看过去就知道是啥意思了
在这里插入图片描述

这些命令不需要背,只需要大概知道是啥意思,然后一边用一边查就好了,熟练了就可以了

版本回滚

git reset --hard HEAD^,表示回滚一个版本,要是有两个 ^ ,表示回滚两个版本
git reset --hard 06de12e表示的是跳转到这个版本号,最后七个数字字母表示的是版本号,通过 git reflog可以查询到版本号

现在笔者发现学习这个东西最难的地方在哪里了,就是繁杂,然后没有一定的自驱力或者外在的压力,很有可能偷懒,就学得很慢很慢

这个操作其实挺厉害的,像是恢复历史记录一样,我在当前目录下打开项目里面的文件,因为跳转到了第一次编辑的时候的文件,所以文件只有一行话

tmux 里面,用 insert 相关的键复制粘贴比 [ 这种复制粘贴要简单一些,按住 shift 选中文本即可

我发现自己总是被浏览器首页的一些新闻吸引,不用那个浏览器了,换一个浏览器算了

查看所有的历史版本

git ref,这个的意思就是,查看所有的历史版本,包括指针的一些移动,指针的移动是指前面说的版本回滚,就是一些操作都是可以查询到的

快捷切换应用

看到教程的老师快速切换不同的软件,感觉开发效率比较高,搜了一下
在这里插入图片描述
alt + tab 是最好用的快捷键

现在感觉都非常好用,比如说,我现在需要看网课,也需要命令行编辑器,有朋友找我我需要使用 qq ,还需要 csdn 编辑器做笔记,我可以这样安排,

1.桌面1:网课,qq
2.桌面2:终端
3.桌面3:云端
4.桌面4:csdn 编辑器

每一个程序可以全屏,沉浸式体验,感觉非常棒

在不打开社交软件的情况下,win+ shift+ s可以截屏
感觉操作一些快捷键,脱离鼠标,会给自己的开发效率质的提升,比如说点击 F5 刷新网页,点击空格开始输入文字,所以笔者准备尽可能多的使用快捷键

所以难怪那么多朋友热衷于机械键盘,确实可能可以带来不一样的编程体验和游戏体验

操作终端很有成就感,同一个浏览器新建窗口相当于新打开了一个程序,也比较好用

感受

自己在本地修改一些文件,然后用一套丝滑小连招,就可以把文件同步到云端

1.修改文件
2.git add .
3.git commit -m "描述信息"
4.git push

确实比较简单

上面是主分支的情况,假设我们是创建一个分支,然后再上传到云端,是下面的操作步骤

1.创建分支并切换到这个分支 git checkout -b dev7dev7 表示的是,这个分支的名字,可以随便选择
2.修改文件
3.git add .
4.git commit -m "描述信息"
5.git push --set-upstream origin dev7,相当于是在云端创建一个分支,因为现在云端没有对应的分支,直接 git push 不太合适,使用这个命令云端没有任何反应,origin表示的是云端

分支的一些相关的操作

1.创建一个新的分支并跳转到这个分支,git checkout -b devdev就是分支的名字,可以自己随便修改,-b 表示的是 branch分支的意思
2.跳转到某个分支,git checkout dev,和上面一样,dev表示的是,分支的名字

通过上面两个命令可以看出来,checkout表示的是跳转的意思,branch或者-b表示的是创建一个新的分支,一般是创建一个新的分支就直接跳转到该分支,所以直接创建分支的语句可能用的概率非常小,这里还是列出来,git branch dev

假设新建一个分支并跳转到这个分支之后

我们想要在云端也新建一个相同的分支,前面写了一个比较长的命令,其实我们用 git push 就好了,我们输入这个命令之后,会提示一个命令,复制这个命令就好了

代码仓库

不一定要开源,可以设置成私有的,只有自己可以看到

web 前端开发

其实自己花了很多的时间和精力去做这件事情,但是最后成绩,貌似很一般(平时分 81 占比 40% 总分 77),感觉完全和自己的付出时间不成正比,我感觉主要原因是,一方面当时上课的时候,没有扎扎实实按照要求来做,另一方面,文档写的不够好,因为最后的大作业可能我是用框架写的,讲解代码的时候我说不了啥实质性的东西,因为我主要的工作就是做了一些配置文件的修改,顺便学了一下 git 怎么使用之类的,和 web 前端开发的差距可能还是有一些,大部分还算是自己的原因吧,就像王者里一个角色说的,错了就得认,挨打要立正,确实有点无奈

虽然我知道这个成绩对自己的未来的影响不算很大,但是要是我在一些课程里面取得高分,对我的自信心还是有一些好处的,我很好奇,要是自己竭尽全力,在整个专业大概可以排到一个什么样的位次(扎扎实实听课写作业,看一些网课,做一些笔记,做一下期末考试试卷,大概这样子)

tmux 全屏和缩小

笔者知道 tmux 全屏是 ctrl + a + z ,但是这个快捷键需要一定的先后顺序,先按前面两个松开之后按第三个,全屏之后缩小就是再按一遍

把本地项目创建到云端的步骤

1.在代码托管平台创建一个项目

在这里插入图片描述
最好是项目名字和终端的文件夹名字一样
在这里插入图片描述
创建好之后如上图所示
2.输入mkdir project1创建一个名字叫做 project1 的文件夹,进入这个文件夹

git config --global user.name tzs
git config --global user.email tian_zishen@qq.com

注意这里的 tzs是用户名,另一个是邮箱,这个是一些信息,貌似是必须的,然后输入 git init,初始化这个文件夹,也是必须做的
3.在 github的项目首页找到这个部分
在这里插入图片描述
输入这条命令
git remote add origin git@github.com:t-zs/project1.git ,把本地和云端仓库连接起来

4.然后创建文件,add commit push,触发连招,和前面讲的是一样的,就可以把本地的文件传到云端代码仓库了,像是这样子
在这里插入图片描述
还需要注意,在一切开始之前,需要把公钥文件里面的内容上传到自己代码仓库里面,我之前操作过一次,现在重新在 tmux 里面打开自己的云服务器,假装自己是一个新的小伙伴,再来生成一个密钥

ssh 生成密钥

1.输入ssh-keygen,然后一直按回车,进入到 .ssh文件夹下面可以看到一个私钥文件和一个公钥文件,pub后缀的是公钥文件
在这里插入图片描述
打开这个文件,把公钥的内容复制到代码仓库里面(还是用一个桌面方便操作一些,浏览器就打开不同的窗口就好,相当于不同的程序)

ssh的名字可以随便取一个,点击保存即可

在这里插入图片描述在这里插入图片描述

总结

终于学完了,还算比较简单,之后有时间再操作一下自己的博客网站(github.io)git主要就是进行版本管理,可以把自己的代码存到云端,学的主要是一些命令,通过这些命令和计算机进行交互,实现自己的需求

相关推荐

  1. <span style='color:red;'>Git</span><span style='color:red;'>笔记</span>

    Git笔记

    2024-07-14 07:58:01      36 阅读
  2. Git笔记

    2024-07-14 07:58:01       36 阅读
  3. <span style='color:red;'>Git</span><span style='color:red;'>笔记</span>

    Git笔记

    2024-07-14 07:58:01      132 阅读
  4. 笔记】 - Git

    2024-07-14 07:58:01       27 阅读
  5. Git笔记

    2024-07-14 07:58:01       32 阅读
  6. <span style='color:red;'>Git</span><span style='color:red;'>笔记</span>

    Git笔记

    2024-07-14 07:58:01      20 阅读
  7. git 学习笔记

    2024-07-14 07:58:01       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-14 07:58:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-14 07:58:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-14 07:58:01       58 阅读
  4. Python语言-面向对象

    2024-07-14 07:58:01       69 阅读

热门阅读

  1. SQL注入安全漏洞与防御策略

    2024-07-14 07:58:01       30 阅读
  2. MocoInverse接口使用教程

    2024-07-14 07:58:01       33 阅读
  3. python datetime库与时间戳timestamp的转换

    2024-07-14 07:58:01       22 阅读
  4. zookeeper在哪里能用到

    2024-07-14 07:58:01       20 阅读
  5. 开源科学工程技术软件

    2024-07-14 07:58:01       17 阅读
  6. 2060:【例1.1】计算机输出

    2024-07-14 07:58:01       25 阅读
  7. Debian ip6tables allow IPv6 traffic on TCP port 18917

    2024-07-14 07:58:01       26 阅读