文章目录
前言
自己之前搭建自己的网站的时候,有使用过
git
,但是没有系统的学习过,现在终于可以系统的学一遍了
刚好自己现在的
git bash
出现了一些问题,早一段时间,我想要在个人博客网站上面更新一些内容,然后发现更新不了,不知道是因为更新了一些文件还是啥原因
所以上一次更新还是差不多一个月之前
一些代码托管仓库
gitee
github
要是想自己搭建一个类似于
github
的平台,可以参考这个开源项目 gitlab
初步的一些理解
git
是一个版本管理工具,就是可以支持多人协同开发,然后迭代开发,有三个部分,工作区,暂存区,版本库
工作区把代码存到暂存区,再存到版本库,相当于中间有一个缓存的一个作用
设置个人信息
git config --global user.name tzs
设置自己的名字
git config --global user.email [email protected]
设置自己的邮箱
虽然我知道这个有直接的命令可以复制,但是我还是老老实实自己手敲一遍,因为自己是一个初学者,老老实实,扎扎实实学一遍肯定是有一些好处的
创建自己的仓库
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 .
git commit -m "描述信息"
git push
确实比较简单
上面是主分支的情况,假设我们是创建一个分支,然后再上传到云端,是下面的操作步骤
1.创建分支并切换到这个分支
git checkout -b dev7
,
dev7
表示的是,这个分支的名字,可以随便选择
2.修改文件
3.
git add .
git commit -m "描述信息"
git push --set-upstream origin dev7
,相当于是在云端创建一个分支,因为现在云端没有对应的分支,直接
git push
不太合适,使用这个命令云端没有任何反应,
origin
表示的是云端
分支的一些相关的操作
1.创建一个新的分支并跳转到这个分支,
git checkout -b dev
,
dev
就是分支的名字,可以自己随便修改,
-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 [email protected]
注意这里的
tzs
是用户名,另一个是邮箱,这个是一些信息,貌似是必须的,然后输入
git init
,初始化这个文件夹,也是必须做的
3.在
github
的项目首页找到这个部分
输入这条命令
git remote add origin [email protected]:t-zs/project1.git
,把本地和云端仓库连接起来
4.然后创建文件,
add commit push
,触发连招,和前面讲的是一样的,就可以把本地的文件传到云端代码仓库了,像是这样子
还需要注意,在一切开始之前,需要把公钥文件里面的内容上传到自己代码仓库里面,我之前操作过一次,现在重新在
tmux
里面打开自己的云服务器,假装自己是一个新的小伙伴,再来生成一个密钥
ssh 生成密钥
1.输入
ssh-keygen
,然后一直按回车,进入到
.ssh
文件夹下面可以看到一个私钥文件和一个公钥文件,
pub
后缀的是公钥文件
打开这个文件,把公钥的内容复制到代码仓库里面(还是用一个桌面方便操作一些,浏览器就打开不同的窗口就好,相当于不同的程序)
ssh
的名字可以随便取一个,点击保存即可
总结
终于学完了,还算比较简单,之后有时间再操作一下自己的博客网站
(github.io)
,
git
主要就是进行版本管理,可以把自己的代码存到云端,学的主要是一些命令,通过这些命令和计算机进行交互,实现自己的需求
版权归原作者 三冬四夏会不会有点漫长 所有, 如有侵权,请联系我们删除。