Git入门与进阶
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git 与 SVN 对比
- SVN 是集中式版本控制软件,版本库是放在中央服务器,当我们进行项目开发时,首先要从中央服务器获取最新版本;开发完毕后要将代码提交到中央服务器。集中版本式控制系统必须联网才能工作,即使是局域网也必须保持与局域网服务器的连接。
- Git 是分布式版本控制软件,它没有中央服务器一说,每个人的电脑就是一个完整的版本库。当我们需要共享文件的时候只需要创建一个共享版本库进行push或pull就能看到对方修改。
Git 工作流程
一般工作流程如下(具体命令步骤将在下文提出):
- 从远程仓库克隆代码到本地作为本地库(可直接克隆至编辑器工作空间)
- 代码开发完毕后提交至本地仓库
- 从远程仓库拉取最新版代码,有冲突解决冲突(有冲突时本地仓库文件夹会有“!”标记,有可能标记会有延迟)。
- 处理好本地库代码后提交到远程库共享代码
Git 的下载与安装
由于本人使用的是 windows 系统,所以只阐述 windows 下 git 的安装及使用。
Git 软件下载
官方下载地址:https://git-scm.com/download
Git 软件安装
下载完成之后双击进行安装,选择自己的安装路径,傻瓜式 next 一路到底。
Git 本地仓库
版本库又名仓库,repository,可以理解成一个目录,这个目录里面所有文件都将被 Git 管理起来,每个文件的修改、删除、新增,Git 都能跟踪,并且在无需联网的情况下具有完整的版本管理能力。
- 创建本地版本库
在磁盘里任选并进入一个文件夹,右击空白处,如下:
点击 Git Bash Here
,在出现的窗口中输入 git init
,并且将会出现隐藏文件夹 .git
。演示里面的文件夹 Git Test 就是我们所说的工作区,隐藏文件夹 .git
就是版本库。
Git 远程仓库
目前我们已经有了本地 Git 仓库,如果需要协作开发,则必须有一个远程仓库。常用的远程仓库是 github:https://github.com/。
- 创建 Github 账号(各自摸索…)
- 创建远程仓库:
填写好仓库名称,仓库描述,选择 Public
( Private 是付费的
),就可以 Create repository
了。
- SSH 密匙
SSH 是英文 Secure Shell的简写形式。通过使用 SSH,它可以把所有传输的数据进行加密,这样可以防止 DNS 欺骗和 IP 欺骗。目前 Github 采用这种方式对传输数据进行加密。
在 windows 系统下,我们使用 Git Bash.exe
来生成密匙,命令: ssh-keygen -t rsa
。具体操作如下图:
执行完命令后,会在 windows 本地用户下的 .ssh 目录下生成公钥和私钥。
密钥生成后,需要在 Github 上配置密匙本地才能访问,操作如下:
点击 Settings,选中右边侧边栏的 SSH and GPS keys,再点击右上角出现 New SSH key,将本地的公钥里面的信息全部复制,按下图操作:
点击 And SSH key 按钮完成配置!
连接 Git 远程仓库并同步
- 初始化账号:我们是第一次连接远程仓库,本地 Git 并不知道我们的身份,因此我们需初始化自己的身份;
- git config user.name “你的Github账号名称(非邮箱)”
- git config user.email “你的Github邮箱”
- 添加远程仓库
- git remote add 远端名称 远程库 SSH 地址
- 提交到 Github 远程仓库(个人在项目开发中使用的操作)
- git status(查看当前状态,包括当前分支、增删改过的文件)
- git add . (将当前目录下的所有操作过的文件添加)
- git commit -m’提交说明’ (提交到本地仓库)
- git pull (拉取远程库的文件,每次提交到本地库后需进行此操作,有冲突则要修改并merge)
- git push (将拉取和自己操作过的文件提交至远程仓库)
- 完成所有操作后我们可以在自己的 Github 上查看自己所提交的内容
以上是本人的浅显理解,如有错误,请指正,感激不尽!