• 一、概述
    • 二、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. awesome-nlp

    awesome-nlp  A curated list of resources dedicated to Natural Language Processing Maintainers - Keon ...

  2. freeswitch 挂断前执行脚本

    通道变量名 api_hangup_hook 介绍在挂断时执行指定API命令 示例 <action application="set" data="api_hangu ...

  3. 学习Logistic Regression的笔记与理解(转)

    学习Logistic Regression的笔记与理解 1.首先从结果往前来看下how logistic regression make predictions. 设我们某个测试数据为X(x0,x1, ...

  4. http协议传输二进制数据以及对输入流(php://input)和http请求的理解

    1.index.php <?php $data=file_get_contents('./a.jpg'); $opts = array('http' => array( 'method' ...

  5. 使用swiper和吸顶效果代码

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. Linux启动新进程的三种方法

    程序中,我们有时需要启动一个新的进程,来完成其他的工作.下面介绍了三种实现方法,以及这三种方法之间的区别. 1.system函数-调用shell进程,开启新进程system函数,是通过启动shell进 ...

  7. SQL注入脚本(基于时间)

    #encoding=utf-8 import httplib import time import string import sys import urllib header = {'Accept' ...

  8. ORA-12170: TNS: 连接超时

    ORA-12170: TNS: 连接超时 如果在本机可以正常使用,可是到局域网中的其他机器就出现“ORA-12170:TNS:连接超时 解决方法: 1.cmd-----ping ip地址 查看网络问题 ...

  9. T 恤

    https://detail.tmall.com/item.htm?spm=a220o.1000855.1998025129.1.A6Zaol&id=528088614049&pvid ...

  10. unity,下面两个协程不等价

    //代码1 IEnumerator A(){ Debug.Log(“hi1”); { yield return new WaitForSeconds(1f); Debug.Log(“hi2”); } ...