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

相关推荐
pipip.1 小时前
UDP————套接字socket
linux·网络·c++·网络协议·udp
zkmall1 小时前
企业电商解决方案哪家好?ZKmall模块商城全渠道支持 + 定制化服务更省心
大数据·运维·重构·架构·开源
绝不偷吃3 小时前
ELK日志分析系统
运维·elk·jenkins
朱包林4 小时前
day45-nginx复杂跳转与https
linux·运维·服务器·网络·云计算
孙克旭_4 小时前
day045-nginx跳转功能补充与https
linux·运维·nginx·https
孞㐑¥5 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
Hacker_Oldv6 小时前
软件测试(功能、工具、接口、性能、自动化、测开)详解
运维·自动化
Java樱木6 小时前
使用字节Trae + MCP,UI 到网页自动化。
运维·自动化
GISer_Jing6 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
无敌暴龙兽z9 小时前
离线环境安装elk及设置密码认证
运维·elk