Linux——工具(3)git——版本控制器

一、git的使用意义

在实际项目中,我们往往写一个项目会经历很多个版本进行测试查缺补漏,然后再发行,但如果发行后我们发现仍出现问题,这时我们就需要撤回到上一个版本进行修改,可是如果我们此时不保存上一次的修改就不知道问题所在,因此就需要把每一次的修改详细地记录这样就不怕出错了。git就是一种记录版本控制的工具,它可记录文件的改动内容与改动时间。并且可支持多人同时开发。git的工作方式是将代码库cv到每个开发者的本地,每个人都可以对代码进行修改和提交,然后将新的代码,即新的修改记录更新到代码库中。如今的gitee和github都是基于git实现的。

二、git的版本控制系统的重要性

git备受欢迎的特点之一在于其可以记录各个版本的修改记录,也就说当我们对某个文件进行修改并上传,其他人如果想继续使用其文件就会知道我在何时进行了什么修改,这样就不会一头雾水了。

三、Linux下的git安装

我们以普通用户为例,需要进行提权

sudo yum install -y git

安装后,我们可以检查一下git的版本:git version。如果成功显示了git的版本就说明我们安装成功了。

四、Linux中git的使用

这里我们需要使用gitee,所以需要先注册一个gitee账号

进入到这个页面后,我们点击右上角的新建仓库

我们输入仓库名字后路径会自动生成。

创建好仓库我们就可以把仓库拷贝到我们的本地了。点击克隆/下载并复制https的网址。

接下来我们进入Linux,输入以下指令

git clone 链接

即把远端的仓库克隆过来。

成功后,我们就会在当前目录下找到相应的仓库名称,但其实这并不是仓库 ,真正的仓库在该文件夹里有一个叫.git的隐藏文件

我们本地有了仓库之后,就可以将自己写的代码放在此仓库里了。

五、如何把代码提交到仓库

首先我们需要学习几条指令

1.git add

此指令其实并不是把代码放入仓库内,而是放在了一个叫"暂存区"的地方。换句话说,暂存区是我们的代码从工作目录到本地仓库的桥梁。至于如何使用这条指令,我们需要把当前的目录整个导入暂存区,因此我们应输入

git add .

  1. git commit

这条指令才能使我们的代码真正的进入仓库内,也就是把暂存区的内容放进本地仓库。

语法为

git commit -m "日志"

其中日志部分就是我们对修改内容进行的一些注释,用来提醒自己和其他人此次进行修改的内容。

当我们第一次提交会出现以下界面

意思是需要我们配置以下自己的邮箱和用户名,提交方法为

git config --global user.email "邮箱"

git config --global user.name "用户名"

此时我们再提交一次就可以成功上传至仓库了

当然,我们也可以查看仓库中是否有我提交的内容,我们可以用以下方法

git log ------查看日志

git status ------查看当前状态

注意:日志最好写清楚我们在什么地方进行了修改,不要随意写其他内容。

  1. git push

此指令就是把我们在本地仓库中保存的内容更新到远程仓库,使本地和远程保持一致。 同样都是仓库,都具有保存的作用,那么这个远程仓库的存在意义在哪里?其实,本地仓库确实可以对我们本地写的内容进行永久性的保存,但是如果某天你的本地机器出现了故障导致无法使用,那么即使保存我们也无法查看和获取了,这时候远程仓库就起了作用,无论你的本地出现了什么状况,我都可以随时保证你可以查看内容,只需要本地换一台机器然后重新进入仓库即可。

第一次执行指令后会报错

原因是我们并没有指定分支,我们只需要输入图中git config的两条命令中其中一个就可以解决问题了。然后输入你的gitee用户名和密码即可成功上传至远程仓库。以下是上传成功的结果。

六、关于上传文件的一些注意事项

我们建议:在上传至仓库的代码不上传过程文件,这是为了保证仓库的整洁,所以,为了保证我们上传的文件都是有效的,我们的本地仓库有一个隐藏文件.gitignore,凡是以这些为后缀的文件都不允许上传。

此外,我们还要求:我们的仓库要想提交,必须保证本地仓库的内容和远端仓库一致。如果不能做到及时更新就无法上传,这种情况多发生在多人协同上传的时候,不过也有方法,我们只需要用git pull指令就可以把其他人的修改更新到我们的本地仓库中,然后就可以上传了。

------------以上就是git的一些基本的操作

相关推荐
Ronin-Lotus1 小时前
上位机知识篇---Linux特殊功能文件
linux·运维·服务器·特殊功能寄存器
Zucker n3 小时前
Ubuntu本地部署Open manus(完全免费可用)
linux·运维·ubuntu
静候光阴3 小时前
python使用venv命令创建虚拟环境(ubuntu22)
linux·开发语言·python
小怪兽长大啦4 小时前
【UI自动化测试思路】测试用例配置
服务器·ui·测试用例
edge04 小时前
git的使用
git
灵山悟空4 小时前
rust语言match模式匹配涉及转移所有权Error Case
linux·开发语言·rust
zym大哥大4 小时前
Linux进程信号二
linux·运维·服务器
5:004 小时前
Linux:网络(网络编程基础)
linux·网络
萌萌哒草头将军5 小时前
🚀🚀🚀 服务器防吃灰指南(二) !
java·服务器·javascript
call_me_wangcheng6 小时前
Ubuntu用户安装cpolar内网穿透
linux·运维·ubuntu