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

git管理源码之git安装和使用

git是什么?

git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。git与常用的版本控制工具SVN等不同,它采用了分布式版本库的方。

简而言之,git就是一个版本管理库,也是一个版本管理工具,它的作用就是帮助我们记录版本信息,以及修改内容。git的结构是分布式的资源库,特点是没有严格的服务器概念,每个单体都可作为资源库。这个特点就让我们人人有自己的git仓库这件事变得容易实现。

为什么要用git?

提到版本控制,总会想起大学毕业时写论文的场景,你电脑上的毕业论文一定出现过这番景象!

课设_初稿.doc

课设_修改1.doc

课设_修改2.doc

课设_修改3.doc

课设_完整版1.doc

课设_完整版2.doc

课设_完整版3.doc

课设_最终版1.doc

课设_最终版2.doc

课设_死也不改版.doc

...

这就是最原始的版本控制方法,这种方式的缺点也是显著的。

多个文件,保留所有版本时,需要为每个版本保存一个文件;

协同操作,多人协同操作时,需要将文件打包发来发去;

容易丢失,被删除意味着永远失去;

为了解决这个痛点,应运而生了一批版本管理工具,如:git、svn等。其中linux当中最常用的当属git,因此学会使用git是十分必要的。

git安装和初次使用

git仓库的构建分两种方式,一种是管理当前的代码,给当前代码创建一个git仓库,这种需要初始化新仓库;还有一种是用clone克隆一个远程仓库到自己当前目录下,这种适合一群人维护一个仓库,也是常见的方式。

本文只介绍第一种当前代码的管理。

Ubuntu上安装git

执行sudo apt-get install git 进行git安装

elf@ubuntu:~/work/example/hello$ sudo apt-get install git

创建版本库

以下以用git管理/home/elf/work/example/hello/hello.c文件为示例,展示git的安装和最简单的流程

(1)git初始化

git初始化新仓库,执行git init后会在当前目录生成一个.git目录

elf@ubuntu:~/work/example/hello$ git init

(2)设置用户名和邮箱

每当我们在一个新的git上,首先执行git config --global user.name "Your Name"创建个人git账户,执行git config --global user.email 创建账户邮箱。

以账户名为elf_li,邮箱elf_li@exmple.com为例操作

elf@ubuntu:~/work/example/hello$ git config --global user.name "elf_li"

elf@ubuntu:~/work/example/hello$ git config --global user.email "elf_li@exmple.com"

(3)将当前需要跟踪的文件加到git仓库(将文件添加到暂存区域),执行git add [filename];以添加hello.c到仓库暂存区为例

elf@ubuntu:~/work/example/hello$ git add hello.c

(4)提交版本

提交暂存区域的所有修改到本地仓库(如果修改文件后未添加到暂存区,将不会被提交),用git status指令(在分支内操作时会做具体的讲解)可以看到相关信息,提示需要提交。

执行git commit -m “xxx” 进行提交

elf@ubuntu:~/work/example/hello$ git commit -m "instial program"

此时用git status查看,已经没有hello.c的提示了。

(5)查看当前提交信息

有过提交操作后,可以使用git log查看提交记录信息

elf@ubuntu:~/work/example/hello$ git log

完成以上操作,已经构建了一个本地资源库,主要包括以下部分:

内容

说明

Directory

使用git管理的目录,包含工作空间和git管理空间。

即:/home/elf//work/example/hello目录

workspace

工作区,平时存放项目代码的地方

.git

存放git管理信息的目录,git初始化时创建

staging

暂存区,用于存放临时改动,事实上它只是一个文件,保存即将提交到文件列表信息

local repo

本地版本库,是安全存放数据的位置,含有提交的所有版本的数据。其中HEAD指向最新放入仓库的版本。

Stash

隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态


http://www.kler.cn/a/505624.html

相关文章:

  • 【Rust练习】28.use and pub
  • 阿里云服务器扩容系统盘后宝塔面板不显示扩容后的大小
  • --- 多线程编程 基本用法 java ---
  • 【Vim Masterclass 笔记13】第 7 章:Vim 核心操作之——文本对象与宏操作 + S07L28:Vim 文本对象
  • Android 调用系统服务接口获取屏幕投影(需要android.uid.system)
  • 【HTML+CSS+JS+VUE】web前端教程-36-JavaScript简介
  • 1月14学习
  • 数据结构与算法之二叉树: LeetCode 654. 最大二叉树 (Ts版)
  • 【Linux】Linux命令:traceroute
  • apache-skywalking-apm-10.1.0使用
  • 讲一些算法的知识点——(1)
  • Linux TA_Lib安装
  • 智能科技与共情能力加持,哈曼重新定义驾乘体验
  • TCP/IP协议簇及封装与解封装
  • C#中的Span
  • 代码随想录算法训练营第 8 天(字符串1)| 344.反转字符串 541. 反转字符串II 卡码网54.替换数字
  • HTML5 网站模板
  • 2025-1-15-十大经典排序算法 C++与python
  • 网络安全10大漏洞
  • 超燃预告!Origin百图绘制系列即将登场
  • 不同的embedding技术效果评价
  • kafka的listeners和advertised.listeners,配置内外网分流
  • Natural Language-Assisted Multi-modal Medication Recommendation
  • go语言实现UTF8与GB2312内码转换
  • Node.js、Vue 和 React 的关系和区别
  • 一文掌握Docker