Skip to content

Git简介

Tips

Git是目前世界上最先进的分布式版本控制系统(对比集中式版本控制系统SVN),没有之一!

大家在开发项目的过程中,如果直接在本地系统上维护源码目录,经常会碰见下面的问题:

  1. 不小心把源代码的目录或文件删了,写了好久的代码没了!
  2. 按需求添加新功能,写了好多代码,但净是编译错误,改都改不完,想回到之前的版本,开始大面 积删除或者屏蔽代码,很崩溃,如果此时有个代码版本管理工具,该多好!
  3. 新功能添加完了,编译运行一切很顺利,功能也正常,但有时候运行会出现以前没见过的运行错 误,非必现的,想查看和之前代码的差异,看看都在哪些源文件中修改了代码,该怎么办?
  4. 团队开发项目,但是项目成员都不在一起,各自写的代码该如何添加到一块,还能避免错误,不会 出现谁把谁的代码给覆盖了?

Git就是这样一个代码版本管理工具,它可以帮助我们解决上面的问题,它是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。

Git 是 Linus Torvalds 出品

2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。 Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了。据说Linus花了两周时间自己用C写了一个 分布式版本控制系统,这就是Git!一个月之内, Linux系统的源码已经由Git管理了!

Git的特点

  • 离线可用: (SVN不行)
  • 可以回退

git结构

主流的管理工具对比: Git 80% 上; SVN 10%

  • Git:分布式版本控制工具
  • SVN:集中式版本控制工具 离线不可用

svn结构

安装Git

Linux

正常来就那个我们在日常配置Linux其它代码开发环境的时候, 在安装某些工具的时候, 其中可能自动安装了git工具. 我们可以通过命令来确定Linux环境中是否已经具备git工具.

bash
git --version

如果通过上述命令, 显示git的版本号, 则表明当前环境中已经具有急用git工具的能力。如果我们在通过上述命令检测的时候, 发现没有git工具:(如图)

git1

我们可以通过命令来安装git工具:

bash
sudo apt install git

git2

建议在安装git之后设置一些内容

C
// 建议设置有效的邮箱和用户名
git config --global user.email 222@qq.com
git config --global user.name youname

// 编辑工具
git config --global core.editor vim

Windows

官方下载地址

下载git

直接傻瓜式(一路默认, 唯一需要注意如下图)安装即可。

安装方式

安装的时候,要注意 让Windows 记住登录凭证

判断是否安装成功

如果在Windows的任何路径下都可以出现如下图所示的命令选项, 既是安装成功

git安装成功

Git核心流程

Git的工作流程

git的工作流程

远程仓库

常用的远程仓库: GithubGiteeGitlab。在不同Git仓库注册的时候,

建立远程仓库

建立远程仓库

邀请成员加入仓库

不管是开源的仓库,还是私有的仓库,都是只有仓库中的成员才能去修改仓库中的代码。

开源仓库所有人都可以访问到,私有仓库只有仓库指定的成员才能看到。

管理用户

怎么在项目中组织分支

组织Git的分支体系有很多种模式: 怎么设计没有标准的定式

在公司中写代码, 一定要去问一下分支结构,合并逻辑。分支结构可以问公司前辈,也可以自己使用 git branch -a 命令查看。

忽略文件

Git在做版本控制的时候,可以让我们忽略一些文件,不去追踪这个仓库中这些文件的变化。

txt
// 可以在Git仓库的根目录下 添加一个.gitignore这个名字的文件,可以在这个文件中声明哪些文件不被git追踪版本信息

eg:
# 单个文件
xxx.txt
# 配置文件夹
.idea
# 配置文件的类型
*.iml
target/*.class

out

注意事项

忽略文件最好是在创建仓库的时候,就应该先创建出来。一旦一个文件已经被追踪并且提交到远程仓库中去了,那么再在.gitignore 这个文件中去忽略它的变化,是无效的 (要想起效果, 要先删除这个文件, 提交一个版本, 再把这个文件加进来: 不建议,有点繁琐)

本地项目提交

假设我本地已经有一些需要管理(但是从来没有通过Git管理)的代码, 我想提交到Git仓库管理起来.一般有两种方式

方式一

  1. 手动创建远程仓库
  2. 创建本地仓库(git clone): 产生本地仓库, 工作空间, 缓冲区
  3. 把文件移到 工作空间 目录
  4. 管理文件(git add .)
  5. 产生版本(git commit -m '注释')到本地仓库
  6. 提交到远程仓库git push
  7. 正常使用

方式二:

  1. 在代码文件所属目录, 创建本地仓库(git init)(还创建了缓冲区 和 工作空间)
  2. 管理文件(git add .)
  3. 产生版本(git commit -m '注释')到本地仓库
  4. 创建远程仓库: 不要选择任何模板和初始化 (创建了一个全空的远程仓库)
  5. 关联远程仓库: git remote add origin https://gitee.com/snow-lee/lalala.git
  6. 提交到远程仓库: git push -u origin "master"
  7. 正常使用

相关链接 官方教程