Git 简明使用指南(一)

Git 简明使用指南(一)

接下篇:Git 简明使用指南(二)

Why Git?

说起来,我前些时候问一个朋友,他们公司之前是怎么管理代码的,他告诉我:开一个 SMB 服务器,每个人分配一个目录,然后 master 定期进行检查和合并……

Git 是一个代码的版本管理软件,使用版本管理软件,可以有以下优点:

  • 防止代码被错误的修改和删除

  • 防止因为团队中某个人的错误操作造成代码丢失

  • 更方便的进行代码回滚和代码变更记录查看

与 SVN 相比,Git 最大的有点是不依赖于服务器。即便服务器宕机、数据丢失,Git 也能正常工作,不受任何影响

PS:此文中尽量以 Git GUI 进行介绍和演示,软件为Git for Windows

基本使用

Git 基本操作主要有 clone(克隆)、commit(提交)、push(推送 / 上传)、pull(拉 / 下载),我们分开介绍

第一步:建立一个版本库

你可以新建一个版本库,打开 Git GUI,点击 “Create New Repository”,选择一个目录,再点击 “Create”,稍等片刻,就可以建立起一个空的版本库

创建版本库

如果是 clone 已存在的版本库,则打开 Git GUI,选择 “Clone Existing Repository”,分别填入远程地址、本地目录。注意:本地目录必须是一个不存在的目录

创建一个 commit

修改完代码后,点击 Git GUI 上的 “Rescan”,即可看到你的更改。可以看到,左边是文件列表,右边则是更改内容

commit

接下来点击 “Stage Changed” 暂存更改,之后再右边输入提交说明(一般来说,就是简述此次提交更改了什么)

commit 说明

将代码 Push 到服务器

如果你只是在自己电脑上用 Git,那么你可以跳过这一节了

如果你是 clone 已存在的版本库,并且也是 push 到此版本库,那么你可以跳过下面添加的步骤

添加一个地址

点击 “Remote”-“Add”,分别输入名称和地址,下面的 “Further Action” 保持默认即可

添加远程地址

上传

点击主界面的 “Push”,选择好分支和目标地址(一般不用更改)再点击 “Push” 即可开始上传

push

从服务器获取更改

有时候你需要更新自己电脑上的代码,用来获取别人修改过的代码,这时候你需要 pull

首先打开 Git Bash,输入git pull origin master,其中,“origin” 为目标地址名(和上面 “添加一个地址” 中的 Name 相同)master 为分支名

pull

如果没有问题,就可以完成代码的更新。发生代码冲突怎么办?请看下面

高级应用 1. 冲突解决

团队协作难免不会遇到各人提交各人的,导致冲突出现的情况

例如,Push 时,出现这样的提示:

push 失败

这个时候,你需要打开 Bash 进行代码更新。如果并没有修改同一个文件,那么,就会正常 pull。之后进行 Push 即可

但是,很多时候我们会遇到这样的提示:

pull 冲突

图中的意思是,test.php 存在冲突,自动合并失败。这个时候需要我们手动解决冲突

打开 test.php,我们可以看到:

冲突内容

Git 将存在冲突的位置标明。HEAD 即为当前服务器上最新的版本,以等号隔开,下面则为我们最新创建的 commit

现在手动解决完所有冲突后,再打开 Git GUI,可以看到已经替我们自动填好了提交说明

提交合并

我们只需要将文件 “Stage” 后,点击 commit,即可创建一个合并提交。再尝试 Push,便一切正常

在提交历史中,我们可以看到:

commit 历史

未完待续

下一节将介绍分支开发、issue

接下篇:Git 简明使用指南(二)