Git安装、配置和使用(上)

简介: Git安装、配置和使用(上)

一、Git 简介


什么是“版本控制”? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。在 CODE CHINA 中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。


使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额外增加的工作量却微乎其微。


版本控制系统发展可以分为三个阶段:


本地版本控制系统

集中式版本控制系统

分布式版本控制系统

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。


二、Git安装


在 Windows 上安装


Git 官网下载对应系统的软件了,下载地址为 git-scm.com或者gitforwindows.org


941af6483df342b3bebccc5040972abe.png

无脑安装,修改安装地址,其他默认。 安装完成如图。


774bb23e33df46b681f6ab23e7f81195.png


三、Git环境配置


好了,当你当完成了 Git 的安装后,接下来我们就需要对 Git 进行一些必要的环境配置。


通常情况下,每台计算机上只需要配置一次 Git,当 Git 程序升级时会保留配置信息。 你可以在任何时候再次通过运行 git config命令来修改它们。


git config


Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。


86f3b563749f408686fd5dddba8ce9eb.png


配置用户名和邮件地址


安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。 这一点很重要,因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:


$ git config --global user.name "凌贤文"
$ git config --global user.email lingxw@zjnu.edu.cn

12ea77ec23e74857b06a205ced993d48.png

e03978a896e94096beb326d9b233034d.png


再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。


当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。


检查配置


git config --list 命令来列出所有 Git 当时能找到的配置。

356397b51334462c9d3215ec35d49b24.png


通过以下命令查看所有的配置以及它们所在的文件


$ git config --list --show-origin


Git 颜色配置


$ git config --global color.ui true


Git 显示颜色,会让命令输出看起来更醒目


Git忽略文件配置


日常使用中,我们一般不需要从头开始编辑.gitignore文件,已经有各种现成的种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:GitCode / Gitignore · GitCode


忽略文件的原则是:


忽略操作系统自动生成的文件,比如缩略图等;

忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;

忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

让我们来看一个例子:


假设你在 Windows 下进行 Python 开发,Windows 会自动在有图片的目录下生成隐藏的缩略图文件,如果有自定义目录,目录下就会有Desktop.ini文件,因此你需要忽略 Windows 自动生成的垃圾文件:


.gitignore 文件


# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini


然后,继续忽略Python编译产生的.pyc、.pyo、dist等文件或目录:


.gitignore 文件


# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa


最后一步就是把.gitignore也提交到 Git,就完成了!当然检验.gitignore的标准是git status命令是不是说working directory clean。


有些时候,你想添加一个文件到 Git,但发现添加不了,原因是这个文件被.gitignore忽略了:


强制添加被忽略文件


$ git add App.class
The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.


如果你确实想添加该文件,可以用-f强制添加到 Git


$ git add -f App.class


或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:


检查忽略规则


$ git check-ignore -v App.class
.gitignore:3:*.class  App.class


Git会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。

还有些时候,当我们编写了规则排除了部分文件时:


# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class


但是我们发现.*这个规则把.gitignore也排除了,并且App.class需要被添加到版本库,但是被*.class规则排除了。


添加例外规则


这个时候,虽然可以用git add -f强制添加进去,但我们建议你可以添加两条例外规则:


# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class
# 不排除.gitignore和App.class:
!.gitignore
!App.class


把指定文件排除在.gitignore规则外的写法就是!+文件名,所以,只需把例外文件添加进去即可。


Git 配置别名


除了通过 配置忽略文件 来提高git commit 时的便捷性外,Git 中还有一种可以让大家在敲入 Git 命令时偷懒的办法——那就是配置 Git 别名。


配置 git status/commit/checkout/branch


比如在使用git status命令时,我们可以通过配置别名的方式将其配置为git st,这样在使用时是不是就比输入 git status简单方便很多呢?


我们只需要敲一行命令,告诉 Git,以后st就表示status:


$ git config --global alias.st status


当然还有别的命令可以简写,很多人都用co表示checkout,ci表示commit,br表示branch:


配置别名


$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch


配置完成以上别名后,以后提交就可以简写成:


$ git ci -m "sth."


配置 git reset HEAD file


再比如git reset HEAD file命令,他可以把暂存区的修改撤销掉(unstage),重新放回工作区。既然是一个unstage操作,就可以配置一个unstage别名:


$ git config --global alias.unstage 'reset HEAD'


当你敲入命令:


$ git unstage test.py


实际上 Git 执行的是:


$ git reset HEAD test.py


Git 配置文件


这些自定义的Git配置文件通常都存放在仓库的.git/config文件中。


四、Git的使用


我们先来认识一下版本库——Repository,接下来我们所有提到的 Git 基础命令,都是基于版本库的。


版本库又名仓库,英文名 repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。


在已存在目录中初始化仓库 —— git init


首先,选择一个合适的地方,创建一个空目录:


a7aa323fd35f42e7b94c9d4ce0f855d5.png


第二步,通过git init命令把这个目录变成 Git 可以管理的仓库:


1. $ git init
2. Initialized empty Git repository in /Users/xxm/learning-git/.git/


6f0e36eb181440988bc6ec715e4a8a2c.png


瞬间 Git 就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),同时在当前目录下多了一个.git的目录,这个目录是 Git 来跟踪管理版本库的,如果你没有看到 .git 目录,那是因为这个目录默认是隐藏的,用ls -ah命令就可以看到了。

d387ae62dc354aeb957657545da8d474.png


克隆现有的仓库 —— git clone


如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 git clone 命令,Git 克隆的是该 Git 仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。


git clone


当你执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。


克隆仓库的命令是 git clone <url> 。 比如,要克隆 Git 的链接库 libgit2,可以用下面的命令:


git clone https://codechina.csdn.net/codechina/help-docs


这会在当前目录下创建一个名为 help-docs 的目录,并在这个目录下初始化一个 .git 文件夹, 从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝。 如果你进入到这个新建的 help-docs 文件夹,你会发现所有的项目文件已经在里面了,准备就绪等待后续的开发和使用。


ffe403763a264484aea398ecd6d8ec29.png


 自定义本地仓库名称


当然如果你想在克隆远程仓库的时候,自定义本地仓库的名字也是可以的,你可以通过额外的参数指定新的目录名:


$ git clone https://codechina.csdn.net/codechina/help-docs mydocs


这会执行与上一条命令相同的操作,但目标目录名变为了 mydocs。

Git 支持多种数据传输协议。 上面的例子使用的是 https:// 协议,不过你也可以使用 git:// 协议或者使用 SSH 传输协议,比如 user@server:path/to/repo.git 。


编辑并添加文件


接下来,我们来尝试在已经准备好的 Git 仓库中编辑一个readme.txt文件,内容如下:


1. Git is a version control system.
2. Git is free software.


接下来,我们可以通过2个命令将刚创建好的readme.txt添加到Git仓库:

第一步,用命令git add告诉 Git,把文件添加到仓库:


$ git add readme.txt


执行上面的命令,没有任何显示,说明添加成功。

目录
相关文章
|
15天前
|
存储 Shell 开发工具
内核维护者手册 - 配置Git【ChatGPT】
内核维护者手册 - 配置Git【ChatGPT】
|
24天前
|
Linux 开发工具 git
CentOS安装git客户端
【8月更文挑战第22天】在 CentOS 上安装 Git 可通过两种方式:一是利用 yum 包管理器,只需在终端依次执行 `sudo yum update` 和 `sudo yum install git` 命令,安装时按提示输入 y 即可;二是从源码安装,适用于有特殊需求的场景。首先安装必要的依赖库,然后下载并解压 Git 的源码包,最后通过一系列 make 命令完成配置与编译安装。无论哪种方式,安装完毕后均可通过 `git --version` 验证安装情况。
|
26天前
|
JavaScript IDE 前端开发
前端开发工具配置 nodejs & git & IDE
前端开发工具配置 nodejs & git & IDE
|
1月前
|
网络安全 开发工具 git
Mac安装Git
Mac安装Git
23 2
|
1月前
|
安全 开发工具 git
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
这篇文章是关于如何在IDEA中配置Git、在Coding.net上创建项目和代码仓库,并将IDEA中的代码提交到远程代码仓库的详细教程,涵盖了Git安装、IDEA配置、项目创建、代码提交等步骤。
coding上创建项目、创建代码仓库、将IDEA中的代码提交到coding上的代码仓库、Git的下载、IDEA上配置git
|
2月前
|
存储 Linux 开发工具
入职必会-开发环境搭建15-Git下载和安装
Git 是一个分布式版本控制系统,广泛用于协作开发和版本管理。它由 Linus Torvalds 开发,最初是为了管理 Linux 内核开发而设计的。
|
1月前
|
存储 Ubuntu 开发工具
在Ubuntu 18.04上安装Git的方法
在Ubuntu 18.04上安装Git的方法
28 0
|
1月前
|
存储 Ubuntu 开发工具
在Ubuntu 16.04上安装Git的方法
在Ubuntu 16.04上安装Git的方法
15 0
|
1月前
|
Ubuntu 开发工具 git
在Ubuntu 18.04上安装Git【快速入门】
在Ubuntu 18.04上安装Git【快速入门】
12 0
|
1月前
|
存储 Linux 开发工具
在Debian 8上安装Git的方法
在Debian 8上安装Git的方法
15 0