一、概述
-
- 一、概述
- 二、Git基本概念
- 1、有关存储的四个概念
- 2、分支(branch)
- 三、项目管理实战操作
- 1、安装 GHfW(GitHub for Windows)
- 2、在Coding上新建一个项目(新建远程仓库)
- 3、创建本地仓库
- 4、GHfW 的基本使用
配置: win7 + GitHub for Windows
目标读者:不了解Git,没用过GitHub,想使用Coding且不想使用命令行的同学。
前言:本文的宗旨是一切从简,只讲一些必须用到的步骤和概念。
一、概述
Coding.net 是一个新近的代码托管平台。类似于总所周知的GitHub。Coding的优点在于:一、中文界面;二、免费托管私人项目。缺点也有:项目的安全性还未受验证。总之有利有弊。
本文主要介绍如何用GHfW(GitHub for Windows)对Coding上的项目进行管理。
二、Git基本概念
在介绍GHfW对Coding项目管理之前,先介绍一下Git的基本概念。Git是一个版本控制系统。简而言之是管理代码用的。
1、有关存储的四个概念
- 工作目录(working directory):工作目录就是文件夹项目,它持有实际文件。
- 暂存区(the staging area):暂存区就像是一个索引,把项目文件都联系在一起。
- 本地仓库(local repository):切实进行提供版本控制的地方。
- 远程仓库(remote respository):放在网络上的仓库。
一个项目的纳入版本控制的过程大概就是工作目录->暂存区->本地仓库
向上逐级递交的过程。当在项目中添加一个新的文件后,也就是在工作目录中添加了一个文件。此时暂存区并不知道有新的文件,于是把添加新文件的事告诉暂存区,这样新文件就被追踪(be tracked)了,同时这个文件被加入(add)暂存区。如果修改的是已经被追踪的文件,仍然需要在修改后将改动加入(add)暂存区。已经加入暂存区的新文件或者改动,可以提交(commit)到本地仓库,纳入版本控制系统。
当使用多个设备开发一个项目,或者多个人共同开发一个项目,远程仓库就派上用场了。远程仓库无非就是本地仓库的一个克隆(clone)。当本地仓库产生新的提交而产生变化之后,只要与远程仓库进行一下合并操作就可以让他们保持同步。
2、分支(branch)
每次将改动提交到本地仓库,本地仓库并不会保存文件被修改的部分,而是保存一份快照。
Git管理提交的方式 |
上图的每一列代表一次提交,每个青蓝色的结点代表一个文件快照。假设本地仓库当前在Version1,在对文件A、C做改动之后提交到了本地仓库。那么本地仓库会分别保存一份A、C的快照为A1、C1,并用一个链表分别指向快照A1、C1与原快照结点B,成为一次新的提交Version2。
分支的概念就是建立在这样的基础上的,分支是指向某次提交的指针。由于每个提交之间用一个链表相连接。因此一个分支就相当于是从某个提交对象往回看的历史。
在develop分支上进行提交前 |
上图中的master与develop就是两个分支。每一次提交操作都是以某个分支为基础的,Git为了知道当前在哪个分支上工作,保存一个名为HEAD的指针。可以把HEAD想象为当前分支的别名。(develop前面的星号(*)就是用来区分当前分支与其他分支的。)
在develop分支上进行提交后 |
当有新的提交产生时,HEAD会指向该新提交,也即当前分支指向新的提交。例如上图就是在develop分支上进行了一个次新的提交Version3。
三、项目管理实战操作
1、安装 GHfW(GitHub for Windows)
下载链接:https://windows.github.com/
安装过程一键完成。
2、在Coding上新建一个项目(新建远程仓库)
新建项目页面 |
- README:一般项目中都会添加一个README文件对项目进行概述,以便一目了然地知道这个项目是做什么用的,如何使用等信息。README文件采用markdown语法书写。
- 开源许可证:定义该项目的传播方式,比如他人是否可以商业化使用该项目,他人是否可以随意传播、发布、更改该项目。
- .gitignore文件:该文件可以定义哪些文件不添加到仓库中,比如项目产生的临时文件。
3、创建本地仓库
打开GitHub客户端,打开的时候该客户端会要求输入GitHub的账户和密码,如果没有GitHub账户直接跳过就好了。
在Coding新建的项目页面左上角会有如下链接:
远程仓库的链接地址 |
点中该链接并直接拖放到GitHub客户端窗口。在弹出窗口中设置本地仓库的路径。如此一来远程仓库就克隆到本地仓库了。
4、GHfW 的基本使用
GHfW界面说明 |
在工作目录中对文件进行增删改等操作后,在GHfW窗口勾选需要提交的修改。然后对这次提交进行描述后提交。最后再把修改同步到远程仓库。
后记:仅仅通过GUI的方式管理项目,就只能使用到git的一部分功能,并且在误操作之后的反馈较少。因此十分建议读者进一步学习有关命令行方式的Git管理。
参考文章:Coding 代码管理快速入门。