• 一、概述
    • 二、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窗口勾选需要提交的修改。然后对这次提交进行描述后提交。最后再把修改同步到远程仓库。

Coding 初级教程(一)——用GitHub的GUI客户端对Coding的项目进行管理的更多相关文章

  1. Coding 初级教程(二)——上传已有项目

    Coding 初级教程(二)——上传已有项目 [摘要:方针读者 :已具有 Coding.net 的账号. 本文首要先容若何把项目上传到 Coding.net 上. 分两种环境,一种是项目已归入到 gi ...

  2. Python图像处理库:Pillow 初级教程

    Python图像处理库:Pillow 初级教程 2014-09-14 翻译 http://pillow.readthedocs.org/en/latest/handbook/tutorial.html ...

  3. [初级教程]用SecureCRT+Xming轻松远程实现Linux的X DISPLAY

    [初级教程]用SecureCRT+Xming轻松远程实现Linux的X DISPLAY 发布者:sqqdugdu 时间:10-06 阅读数:2117 测试环境:RHEL 6.1,SecureCRT 5 ...

  4. 使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客

    本文原文地址:使用Pelican在Github(国外线路访问)和Coding(国内线路访问)同步托管博客 介绍: Github Pages 禁用了百度爬虫,因此百度搜索引擎经常抓取不到在Github上 ...

  5. 如何通过Git GUI将自己本地的项目上传至Github

    最近在学习node.js和react,顺便复习了下AngluarJS相关的东西,写了些小demo想放在GitHub上,之前仅限于只申请了GitHub账号从没用过,今天花半天时间查资料认真学习Githu ...

  6. 手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置

    前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的 ...

  7. shellKali Linux Web 渗透测试— 初级教程(第三课)

    shellKali Linux Web 渗透测试— 初级教程(第三课) 文/玄魂 目录 shellKali Linux Web 渗透测试—初级教程(第三课) 课程目录 通过google hack寻找测 ...

  8. Mac OS X Terminal 101:终端使用初级教程

    Mac OS X Terminal 101:终端使用初级教程 发表于 2012 年 7 月 29 日 由 Renfei Song | 文章目录 1 为什么要使用命令行/如何开启命令行? 2 初识Com ...

  9. Window服务初级教程以及log4net配置文件初始化

    Window服务初级教程:http://www.jb51.net/article/48987.htm 另外,配置log4net这个日志功能的时候需要初始化,不然会报没有初始化的错误,而且初始化的节点应 ...

随机推荐

  1. 【转】BLE_CC2540_初学者入门指导

    原文网址:http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/61462.aspx 看 ...

  2. 科普:浅谈 Hellinger Distance

    浅谈 Hellinger Distance 2016.05.24 最近在看 Hellinger Distance(海林格距离), 平时看多了欧式距离,马氏距离等等,貌似介绍这个的材料不是很多,例如:维 ...

  3. CUDA学习笔记(一)【转】

    CUDA编程中,习惯称CPU为Host,GPU为Device.编程中最开始接触的东西恐怕是并行架构,诸如Grid.Block的区别会让人一头雾水,我所看的书上所讲述的内容比较抽象,对这些概念的内容没有 ...

  4. 使用rman中的duplicate复制数据库

    目标库和复制库环境: OS: Linux Red Hat AS 4 DB Version: 10.2.0.1   1.目标库和复制库信息 Rman 中的目标库(target database)指的是被 ...

  5. linux free命令中buffer与cache的区别

    linux free命令中buffer与cache的区别 2012-05-15      个评论       收藏    我要投稿 linux free命令中buffer与cache的区别   ~$ ...

  6. nginx和apache配置目录浏览功能

    今天工作需要,要给客户提供一个patch的下载地址,于是想用nginx的目录浏览功能来做,需要让客户看到指定一个目录下的文件列表,然后让他自己来选择该下载那个文件: 我们都知道在apache下可以配置 ...

  7. argparse

    import argparse def test(a,b): print int(a)+int(b) parser = argparse.ArgumentParser() parser.add_arg ...

  8. Linux下升级python

    本文的Linux系统为CentOS 7 64 在Linux系统的下载文件夹中邮件打开终端,输入命令: wget http://www.python.org/ftp/python/3.4.4/Pytho ...

  9. 手机App开发

    /* * 登录:输入 */ public void login(String user, String pwd, TextHttpResponseHandler responsehandler) { ...

  10. java提供的默认list排序方法-转

    1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...