当前位置: 首页 > java >正文

Linux—— 版本控制器Git

目录

一、版本控制器

二、git 简史

三、git安装和使用

1、判断是否安装了git

2、安装git

3、创建仓库

4、git clone 刚刚复制的地址

5、提交三板斧

(1)git add 

(2)git commit

(3)git push

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

http://www.xdnf.cn/news/2443.html

相关文章:

  • Linux 在个人家目录下添加环境变量 如FLINK_PROPERTIES=“jobmanager.rpc.address: jobmanager“
  • Android LiveData关键代码
  • Docker小游戏 | 使用Docker部署文字修仙网页小游戏
  • Xray-安全评估工具
  • 月之暗面开源-音频理解、生成和对话生成模型:Kimi-Audio-7B-Instruct
  • 【DNS】BIND9 域名解析快速入门
  • Spring框架的ObjectProvider用法
  • 【C++】类和对象【中上】
  • C++ 完全数
  • Android四大核心组件
  • Linux(Centos版本)中安装Docker
  • 哈希表基础
  • 使用rsync和inotidy-tools来进行实时备份文件夹数据
  • Awesome-Embodied-AI: 具身机器人的资源库
  • CentOS7.9安装Python 3.10.11并包含OpenSSL1.1.1t
  • STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
  • uni-app 中使用 mqtt.js 的完整版
  • uniapp: 低功耗蓝牙(BLE)的使用
  • 在winform中使用chromiumWebBrowser显示Echarts图表
  • 【RabbitMQ】保证消息不丢失
  • 汽车网络安全 -- 理解暴露面、攻击面和攻击向量
  • 极狐GitLab 议题权重有什么作用?
  • 编译流程、make命令与nccl-test中的Makefile解析
  • 【Spark入门】Spark简介:分布式计算框架的演进与定位
  • C++?动态内存管理!!!
  • 云计算赋能质检LIMS的价值 质检LIMS系统在云计算企业的创新应用
  • Unity3D Cinemachine 高级应用指南
  • PyDantic入门介绍:Python数据验证与解析的利器
  • 57页PPT|非结构化数据管理方案:从顶层设计到应用实践的系统方法论
  • AVL树的介绍与学习