加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • git是什么?
    • 为什么要用git?
    • git安装和初次使用
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard ELF 1板卡 -git管理源码之git安装和使用

22小时前
102
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

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中的临时状态

相关推荐