`
AILIKES
  • 浏览: 177985 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

初识Github

阅读更多

Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad the Deployer这样的部署工具所使用。同样,eoe.cn客户端的源码也托管在github上。

GitHub可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。已经有人将GitHub称为代码玩家的MySpace。

在GitHub进行分支就像在Myspace(或Facebook…)进行交友一样,在社会关系图的节点中不断的连线。

GitHub 使用 git 分布式版本控制系统,而 git 最初是 Linus Torvalds 为帮助Linux开发而创造的,它针对的是 Linux 平台,因此 git 和 Windows 从来不是最好的朋友,因为它一点也不像 Windows。GitHub 发布了GitHub for Windows,为 Windows 平台开发者提供了一个易于使用的 Git 图形客户端。

GitHub For Windows
GitHub for Windows 是一个 Metro 风格应用程序,集成了自包含版本的 Git,bash 命令行 shell,PowerShell 的 posh-git 扩展。GitHub 为 Windows 用户提供了一个基本的图形前端去处理大部分常用版本控制任务,可以创建版本库,向本地版本库递交补丁,在本地和远程版本库之间同步。微软也通过CodePlex向开发者提供 git 版本控制系统,而 GitHub 创造了一个更具有吸引力的 Windows 版本。

GitHub上已自动配置的Mac笔记本电脑,一个工具,可以转换设置Linux或Windows机器。

BOXEN是GitHub的自动化工具,设置和配置的Mac笔记本电脑软件开发[3]或其他类型的工作,正在使用他们的开发人员,律师,设计师,付货人,等。我们的想法是准备系统以自动方式和作为无差错尽可能用最少的干预工作。根据GitHub上,与一个新的开发机器上,他的Mac系统成立,并准备在30分钟内提交代码。

BOXEN的基础上收集了大量的几十个木偶模块,使设置的各种软件,如卡桑德拉,MongoDB中,Java软件中,Python和Ruby开发中,节点,JS,nginx的,Skype公司,甚至MINECRAFT。虽然机器上配备了一个预配置,每个用户都可以调整它的配置应有的作用。

【如何使用】

1.注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

2.安装客户端msysgit

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。

装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。

3.配置Git

首先在本地创建ssh key;
$ ssh-keygen -t rsa -C "your_email@youremail.com"

后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。

回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:

$ ssh -T git@github.com

如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。

$ git config --global user.name "your name"
$ git config --global user.email "your_email@youremail.com"

进入要上传的仓库,右键git bash,添加远程地址:

1
$ git remote add origin <a href=""mailto:git@github.com"" target=""_blank"">git@github.com</a>:yourName/yourRepo.git   

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

4.提交、上传

接下来在本地仓库里添加一些文件,比如README,

$ git add README
$ git commit -m "first commit"

上传到github:

$ git push origin master

git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。

修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到github。

5.gitignore文件

.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:

bin
*.suo
obj

bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。

6.tag

我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag,这些下面的博客中有详细讲解。

分享到:
评论

相关推荐

    6.初识Github1

    6.初识Github1

    Github与Git简明教程1

    介绍- 4 -初识Github初识Github2. Github到底有多大的魅力1. 那些牛逼的公司在使用Github2. 那些最顶级的项目托管在Github上

    GitHub 使用手册 入门教程

    GitHub 初识 GitHub 简介 GitHub 优势 GitHub 注册 安装 Git 安装 Git 通过 Git 验证 GitHub 创建仓库 在 GitHub 上创建新仓库 提交你的第一个修改 Fork 一个仓库 Fork 一个示例仓库 同步你的 Fork 仓库 检索其他...

    从 0 开始学习 GitHub 系列.pdf

    1. 初识 GitHub 2. 加入 GitHub 3. Git 速成 4. 向 GitHub 提交代码 5. Git 进阶 6. 团队合作利器:Git 分支详解 7. GitHub 常见的几种操作 8. 发现好用的开源项目 希望通过这个教程,人人可以很方便的掌握 Git/...

    GitHub 使用手册 - 基础篇 - v1.11

    前言11第 1 章第 1 章GitHub 初识55第 2 章第 2 章12通过 HTTPS 建立连接(推荐) 15通过 SSH 建立连接16第 3 章第 3 章

    C#语言使用gRPC、protobuf(Google Protocol Buffers)实现文件传输功能

    初识gRPC还是一位做JAVA的同事在项目中用到了它,为了C#的客户端程序和java的服务器程序进行通信和数据交换,当时还是对方编译成C#,我直接调用。  后来,自己下来做了C#版本gRPC编写,搜了很多资料,但许多都是从...

    provedcesl.github.io:myBlog

    关于这个Jekyll模板主题 :soccer_ball: :soccer_ball: :soccer_ball: 预览 首页 首页:博客首页 博文分类:跟随类别对文章进行分类 ...初识Jekyll博客,有必要了解有关知识。 相关的内容我写了两篇

    《数据库系统原理与应用(SQL Server 2000)》试题库

    《数据库系统原理与应用(SQL Server 2000)》试题C

    Python百天读书笔记 | 初识Python 1day

    Github 官网链接 https://github.com/jackfrued/Python-100-Days 一、安装Python解释器   想要开始Python编程之旅,首先得在自己使用的计算机上安装Python解释器环境,下面将以安装官方的Python解释器为例,讲解...

    CloudBeaver是一个基于Web的云数据库管理工具.rar

    CloudBeaver目前已经是1.2版本,Github的released页面提供了一个编译好的包,下载下来即可,支持在Windows和Linux下启动,笔者作为演示直接在Windows下操作& 文章知识点与官方知识档案匹配,可进一步学习相关知识 ...

    bootstrap学习笔记之初识bootstrap

    Bootstrap是一款目前非常流行的前端框架,简单的说,就是...是Github上的热门开源项目。 它基于jQuery框架开发,在jQuery框架的基础上进行了更为人性化和个性化的完善,形成了一套自己独有的网站风格,并兼容大部分j

    ember-glance:Ember 框架初识

    git clone https://github.com/egorvoronov/ember-glance.git这个仓库 切换到新目录 npm install bower install 运行/开发 ember server 在访问您的应用程序。 运行测试 ember test ember test --server 建造 ...

    make7believe.github.io:WEB前端设计项目资料网

    WEB前端设计项目资料这个项目是西京学院电子商务专业《 WEB前端设计》课程配套的网站资料,内含12个子项目,其中项目1为课程平台在线答题完成,...课程任务任务一:初识WEB前端设计任务二:利用HTML标签创建网页元素

    规则引擎Drools 之 springboot 集成、热加载

     如果对drools还不是特别熟悉的,可以看下 《规则引擎Drools 之 初识drools》这篇文章;  本文源码,github 传送门:https://github.com/vincent9309/drools:  系统架构如下: 二、项目目录结构 三、...

    微信公众号

    微信开发基本流程实现,基于java,实现对接,自定义菜单,...里面有很多的代码demo一本书:微信公众平台应用开发 (豆瓣)一系列视频:初识Java微信公众号开发;Java微信公众号开发进阶GitHub有很多开源的代码可以学习。

    .NET Core系列之MemoryCache 缓存过期

    在上一篇”拥抱.NET Core系列:MemoryCache 初识”中我们基本了解了缓存的添加、删除、获取,那么今天我们来看看缓存的过期机制。这里和上篇一样将把“Microsoft.Extensions.Caching.Memory”简称为MSCache。 ...

    Android代码-ImageLoader

    这是本人基于原作者对于ImagLoader进行gradle 4.0 的适配,特修改readme.md 以适应源码的变更。本人水平有限,在适配过程中,有处理不妥之处,请指出。...初识Glide Glide配置 1、 在build.gradle中添加依赖: de

    tenio-phaserjs:这是基于Phaserjs的TenIO项目的客户端

    初识 维基 提供了实现级别的详细信息和常见问题的答案。 依存关系 jquery.min.js msgpack.min.js bootstrap.min.css bootstrap-theme.min.css phaser.min.js 执照 该项目目前已获得许可。 安装 您可以获取来源:...

    tenio-unity:这是基于Unity引擎的TenIO项目的客户端

    初识 维基 提供了实现级别的详细信息和常见问题的答案。 依存关系 Unity 2019.1.2f1 执照 该项目目前已获得许可。 贡献 请查看以了解更多详细信息。 安装 您可以获取来源: $ git clone ...

    bubble:基于gin和gorm的示例演示

    bubble清单一个基于gin+gorm开发的练手小项目,通过该项目可初识go web开发该有的姿势。前端页面基于vue和ElementUI开发,对前端不熟悉的童鞋可直接下载templates和static文件夹下的内容使用。前端部分源码地址:。...

Global site tag (gtag.js) - Google Analytics