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 的文件夹,进入这个文件夹

shell 复制代码
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主要就是进行版本管理,可以把自己的代码存到云端,学的主要是一些命令,通过这些命令和计算机进行交互,实现自己的需求

相关推荐
龙鸣丿2 小时前
Linux基础学习笔记
linux·笔记·学习
Nu11PointerException4 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
亦枫Leonlew5 小时前
三维测量与建模笔记 - 3.3 张正友标定法
笔记·相机标定·三维重建·张正友标定法
考试宝5 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
但老师6 小时前
Git遇到“fatal: bad object refs/heads/master - 副本”问题的解决办法
git
秃头女孩y6 小时前
git创建分支
git
黑叶白树7 小时前
简单的签到程序 python笔记
笔记·python
幸运超级加倍~8 小时前
软件设计师-上午题-15 计算机网络(5分)
笔记·计算机网络
芊寻(嵌入式)9 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
准橙考典9 小时前
怎么能更好的通过驾考呢?
人工智能·笔记·自动驾驶·汽车·学习方法