Linux—— 版本控制器Git

目录

一、版本控制器

[二、git 简史](#二、git 简史)

三、git安装和使用

1、判断是否安装了git

2、安装git

3、创建仓库

[4、git clone 刚刚复制的地址](#4、git clone 刚刚复制的地址)

5、提交三板斧

[(1)git add](#(1)git add)

[(2)git commit](#(2)git commit)

[(3)git push](#(3)git push)

[(4) git log](#(4) git log)

四、如何进行多人协作

.gitnore


一、版本控制器

为了能够方便我们管理这些不同版本文件,便有了版本控制器。所谓版本控制器,就是可以让你看到文件的历史,以及它的发展过程,通俗来说就是记录工程的每一改动和版本迭代的一个管理系统,也可以让多人协同作业,目前最流行的就是Git

二、git 简史

Git 是一个分布式版本控制系统,最初由 Linux 项目的创始人 Linus Torvalds 于2005年创建。Linus Torvalds 创建 Git 的初衷是为了更好地管理 Linux 内核的开发。在过去的十多年里,Git 已经成为最流行和广泛使用的版本控制系统之一,被许多开发人员和组织用于管理他们的代码库。Git 的设计目标是速度、数据完整性和支持分布式、非线性工作流程。Git 之所以如此受欢迎,是因为它简单易用,同时具有强大的功能和灵活性,使得开发人员可以高效地协作和管理项目。

三、git安装和使用

1、判断是否安装了git

--version

出现如上图所示则安装了,如果没有就要安装

2、安装git

yum install git

注册Github 创建项目

注册账号

跟平常注册一样

3、创建仓库

复制上面的链接

下载项目到本地

4、git clone 刚刚复制的地址

将远端目录拷贝到本地

下载后我们会发现文件中多了一个my_-linux

打开问my_-linux.1后我们发现他里面的内容就是我们在Github上的

对比发现多出来了一个.git叫做本地仓库,我们需要通过他将代码传到gite ,将我们的代码进行托管

5、提交三板斧

(1)git add

将代码放到刚才下载好的目录中(将文件托管到.git,其实是将本地目录中的文件提交到.git的一个暂存区,如果我们提交失败或者不想提交了可以清空他)

git add 文件名

(2)git commit

将提交改动的信息到本地目录,将暂存区的文件提交到本地

git commit - m "xxx" (xxxx表示你改动的信息或者备注)

提交的时候应该注明提交日志,描述改动的详细内容

当我们第一次commit 的时候我们会弹出如下的信息,我们只需要将红色的部分拷贝下来,""中写上我们的email(注册时候写的email) 和 注册时候的名字

通过上面的两步我们才将代码提交到.git(本地仓库中)经过上面两个我们已经把我们的代码进行了本地化的提交

(3)git push

同步到远端服务器上(将本地和远端进行同步)

(4) git log

查看我们每次commit的信息(所以commit紧跟着的信息不能乱写)

四、如何进行多人协作

多人协作一般就是多人重复上述的步骤 但是值得注意的是如果希望提交到远端成功,必须要满足如下图的关系

但一个人提交自己的代码文件到远端之后,这时候远端和其他人本地的关系就是交集,当其他人将自己写好的代码push到远端的时候就会报错,所以我们需要在add之前将我们的本地和远端同步

git pull (多人协同的时候最好都做一下)

.gitnore

忽略在.gitignore 文件中包含的后缀(不会将他们提交到远端,过滤文件,防止污染文件)

git add git commit究竟在干什么

git add git commit ->本质上提交的是你的修改操作(进行对比,保存文件修改记录到仓库),不是将文件整体进行拷贝提交。

相关推荐
程序猿小三1 小时前
Linux下基于关键词文件搜索
linux·运维·服务器
虚拟指尖2 小时前
Ubuntu编译安装COLMAP【实测编译成功】
linux·运维·ubuntu
椎4953 小时前
苍穹外卖前端nginx错误之一解决
运维·前端·nginx
刘某的Cloud3 小时前
parted磁盘管理
linux·运维·系统·parted
啊?啊?3 小时前
4 解锁 Linux 操作新姿势:man、grep、tar ,创建用户及添加权限等 10 大实用命令详解
linux·服务器·实用指令
程序员老舅3 小时前
干货|腾讯 Linux C/C++ 后端开发岗面试
linux·c语言·c++·编程·大厂面试题
极验3 小时前
iPhone17实体卡槽消失?eSIM 普及下的安全挑战与应对
大数据·运维·安全
爱倒腾的老唐3 小时前
24、Linux 路由管理
linux·运维·网络
程序员Aries3 小时前
自定义网络协议与序列化/反序列化
linux·网络·c++·网络协议·程序人生
yannan201903133 小时前
Docker容器
运维·docker·容器