曾经天真的我以为 GitHub 就是 Git,在 GitHub 上鼓捣了半天,后来发现,我错了,彻彻底底的错了。
一、Git 简介
Git 是一款开源的分布式版本控制系统,由 Linus Torvalds 大神利用两周时间开发而来(什么是大神?这就是);而 GitHub 是基于 Git 开发的版本托管网站。由 Git 角度看 GitHub 的话,GitHub 就是 Git 上可以免费使用的一个大型远程仓库。当然,GitHub 肯定不会如此简单,否则怎么称得上是全球最大的同性开源交流社区!
好了,让我们回归主题 — Git!
二、安装 Git
想使用 Git,当然是先安装 Git 了。这里简单介绍一下各平台的安装方式,相信大家可以轻松搞定。
- Windows :https://git-scm.com/downloads
- Mac :https://git-scm.com/downloads 或者 AppStore
- Linux :sudo apt-get isntall git(Debian系列)或者 sudo yum install git(RedHat系列)
三、Git 全局和单个仓库的配置
命令:git config
使用方法:
- Git 提供的 git config 工具,专门用来配置或读取相应的工作环境变量
git config --global user.name “your name” //配置全局用户名
git config --global user.email “email@xx.com” //配置全局邮箱
git config --list //查看当前配置
实际操作:
大家开始使用 Git 之前需要配置一个全局的用户名和邮箱,就像大多数软件需要注册用户名一样,这样和别人交换信息时,别人能知道你是谁。执行以下代码:
//注:操作系统 Centos7,下同
[player@study ~]$ git config --global user.name "player"
[player@study ~]$ git config --global user.email "player@xx.com"
[player@study ~]$ git config --list
user.name=player
user.email=player@xx.com
有时某一项目需要特定的用户名,这时只需在特定项目下,去除 --global
参数,再执行一下上述代码即可,就完成了单个仓库的配置。
再用 git config --list
查看当前配置,在当前项目下面查看的配置是全局配置+当前项目的配置,使用的时候会优先使用当前项目的配置。
你想问能不能配置多用户?当然能啊,但这种sao专家操作,有点偏离了实用,就不在此展开介绍了。什么?你只是想在公司电脑上自如使用个人用户?小伙子,你这想法相当危险;你还想在家里使用公司用户继续工作?小伙子,快醒醒,加班不是让你睡觉的!回家?不存在的!
四、创建 Git 仓库
命令:git init
使用方法:
- 切换至工作目录,并在当前目录下创建
git init
- 指定目录下创建仓库,不推荐此用法,可能误操作
git init <directory>
实际操作:
[player@study ~]$ mkdir test //新建一个文件夹
[player@study ~]$ cd test //切换工作目录
[player@study test]$ git init //初始化仓库
Initialized empty Git repository in /home/player/test/.git/
至此,工作目录下生成一个 .git
隐藏目录,该目录就是 Git 仓库,英文为Repository
,中文常翻译成仓库或版本库,不要手动修改,会把仓库搞坏的。
五、添加文件至 Git 仓库
命令:git add
和 git commit
使用方法:
- 添加文件至暂存区
git add <file>
- 将暂存区内容提交至仓库,并输入提交信息
git commit -m <message>
实际操作:
在工作目录下编写一个 Hello.py
文件,内容如下:
# study Git
print ('Hello player!')
然后把文件添加至仓库:
[player@study test]$ git add Hello.py //添加文件到暂存区
[player@study test]$ git commit -m "a new file Hello.py" //将暂存区内容添加到仓库
[master (root-commit) df07e12] a new file Hello.py
1 file changed, 2 insertions(+)
create mode 100644 Hello.py
git commit 命令执行成功后告诉我们,1 file changed
:1 个文件被改动(我们新添加的 Hello.py
文件);2 insertions
:插入了两行内容(Hello.py
文件里有两行内容);create mode 100644 Hello.py
:意思就是成功了(100644 代表常规的非可执的可写的文件)。
六、Git 项目的三个工作区域:工作目录,暂存区域,Git 仓库
工作目录就是当前目录,是一个 Git 仓库能管辖的最大范围。例如我们现在的工作目录是test
。虽然.git
目录也在当前目录下,但它不算做工作目录,而是 Git 仓库。
Git 仓库就是.git
目录,是 Git 用来保存管理版本数据的地方。这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。
基本的 Git 工作流程如下:
- 在工作目录中修改文件。
- 暂存文件,将文件的快照放入暂存区域。
- 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库。
推荐阅读: