github新手入门

【初识Github】
首先让我们大家一起喊一句“Hello Github”。YEAH!就是这样。

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 "[email protected]"

后面的[[email protected]](mailto:[email protected])改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在[Git](http://lib.csdn.net/base/git) bash下输入:
$ ssh -T [email protected]

如果是第一次的会提示是否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 "[email protected]"

新建本地仓库:
在想要存放仓库的根目录下创建本地仓库:
git init [仓库的名字]
或者:
新建一个存放.git(仓库)的文件如(github目录下面的firstday目录):
git init //就会在firstday目录下生成.git仓库文件
进入要上传的仓库(firstday文件),右键[git](http://lib.csdn.net/base/git) bash,添加远程地址:
$ git remote add origin [email protected]:yourName/yourRepo.git

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

4.提交、上传
接下来在本地仓库里(firstday目录下)添加一些文件,比如README文件,在原来的firstday目录下Git Bash Here:
$ git touch README
$ git add README 
$ git commit -m "first commit"

上传到github:
$ git push -u origin master  (这里可能会有报错:请查看git的报错以及解决方法)

如果这里报错:
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
说明你的github上找不到helloworld的同名仓库,需创建一个线上的仓库(上面有教程)
切记:如果我们在创建远程仓库的时候添加了README和.ignore等文件(默认在github上创建时自动帮我们创建这两个文件),我们在后面关联仓库后,(上传push前)需要先执行pull操作:
关联仓库命令:$ git remote add origin [email protected]:yourName/yourRepo.git 
pull命令:$ git pull -u origin master
再接着上面的操作:
$ git push -u origin master
(这时刷新你的github的helloworld仓库就会看到我们刚刚添加的README文件和 first commit的提交说明了)
git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。
-----------------以上就是Git本地仓库与Github远程仓库关联的全部步骤-----------------

tips:
当本地仓库的文件和线上文件都有修改的时候很容易起代码冲突,问题来了,就是要决解冲突,我在这里就简单的提一下:

在我们在README文件中添加一句话"这是我的本地README文件”保存,

$git add README (添加到暂存区)
$ git commit -m ‘添加了 这是我的本地README文件 这句话‘

如果下面直接执行$ git push origin master (在没有修改远程github上的同名文件时是可提交的,但如果也有修改就要执行下面pull操作再合并本地的代码,否则就会报代码冲突)
假设在github中的README文件中添加了一句话“这是我的github的README文件”保存,

首先我们先pull修改后git远程文件:
$git pull origin master

这时候在打开本地的README文件应该有我们线上和线下修改后的代码,取舍其中需要的代码如把它们合并为“这是我的github的README文件,这是我的本地README文件”,并保存。

$git add README (重新添加到暂存区)
$ git commit -m ‘添加了 这是我的本地README文件‘ (重新提交)

最后push到远程仓库上
$ git push origin master

这时候刷新github页面就能看到我们合并后的README文件了。
(修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。)

花了2个晚上学习git,感谢这几位的博主的文章让我受益良多!
常用的git命令传送门:[http://www.songyawei.cn/?s=git](http://www.songyawei.cn/?s=git)
学习git图文教程:http://www.jianshu.com/p/dcbb8baa6e36
github入门:http://blog.csdn.net/hcbbt/article/details/11651229
代码冲突:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001375840202368c74be33fbd884e71b570f2cc3c0d1dcf000

git我还是新手,根据自己学习过程中遇到的问题和大家分享,避免走这些弯路,如果文章有什么问题还望您指出,我会虚心求教的(●‘?‘●)。希望我们共同进步!

时间: 2024-10-15 14:48:50

github新手入门的相关文章

iOS简易柱状图(带动画)--新手入门篇

叨逼叨 好久没更新博客了,才几个月,发生了好多事情,处理了好多事情.不变的是写代码依然在继续. 做点啥子 看看objective-c的书,学着写了个柱状图,只是练习的demo而已,iOS上的图表控件已经有非常好的解决方案了. PNChart:https://github.com/kevinzhow/PNChart 这个控件是是挺不错了,喜欢的朋友可以看看,本文很多地方借鉴了PNChart,就当学习源码也可以 动手动手 先上图先上图,配色直接用PNChart的了,还蛮喜欢这种配色风格,一直不太喜欢

新手入门指导:Vue 2.0 的建议学习顺序

起步 1. 扎实的 JavaScript / HTML / CSS 基本功.这是前置条件. 2. 通读官方教程 (guide) 的基础篇.不要用任何构建工具,就只用最简单的 <script>,把教程里的例子模仿一遍,理解用法.不推荐上来就直接用 vue-cli 构建项目,尤其是如果没有 Node/Webpack 基础. 3. 照着官网上的示例,自己想一些类似的例子,模仿着实现来练手,加深理解. 4. 阅读官方教程进阶篇的前半部分,到『自定义指令 (Custom Directive) 』为止.着

Docker新手入门:基本用法

Docker新手入门:基本用法 1.Docker简介 1.1 第一本Docker书 工作中不断碰到Docker,今天终于算是正式开始学习了.在挑选系统学习Docker以及虚拟化技术的书籍时还碰到了不少麻烦,主要就是没有特别经典的书!Docker的<第一版Docker书>和<Docker技术入门与实战>普遍评价不高,而<Docker开发实践>和<Dockeru源码分析>又是2015年最近才出的,评价不是很多.综合看了下,最终还是选择了<Docker开发实

问题集录--新手入门深度学习,选择TensorFlow 好吗?

新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合OpenCV使用,对于新手来说,基本上不折腾个几天是很难搞定的. 其次,基于TensorFlow的教学资源非常多,中英文的都有,这对于新手也是非常有帮助的.Google做社区非常有一套,在中国有专门的一群人,会在第一时间把Google的开发者相关的进展翻译成中文. 另外,由于有Google背书,Ten

Gulp新手入门教程

Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务: 搭建web服务器 文件保存时自动重载浏览器 使用预处理器如Sass.LESS 优化资源,比如压缩CSS.JavaScript.压缩图片 当然Gulp能做的远不止这些.如果你够疯狂,你甚至可以使用它搭建一个静态页面生成器.Gulp真的足够强大,但你必须学会驾驭它. 这是这篇文章的主要目的.帮助你了解Gulp的基础用法,助你早日完成一统天下的大业. 在我们深入了解之前,我们先来说说为什么是Gulp. 为什么是Gulp? 类似Gulp的

javascript新手入门必读书籍推荐

在当下,极多的程序员是通过自学来完成入门以及提升的.对于JavaScript的学习来说,同样不例外.许多新手入门javascript选择通过视频教程或者论坛交流的方式进行学习,这种方式固然较为轻松和便捷,但在知识的获取上有些碎片化,对于新手来说不是很好. 在javascript的入门阶段,通过书籍来学习对于新手来说才是最好的手段.书籍的学习固然比较枯燥,但是也是最权威,最系统化的,对于新手来说能够快速的完成基础知识的奠基,而对于之后进一步的提升也是大有裨益.这里笔者就结合自身经验为各位javas

新手入门:微信小程序--从入门到精通宝典

<ignore_js_op> 作为新手入门的宝典,我们整理了本论坛各种有价值的内容,并按循序渐进的方式呈现给大家.大家可以按顺序一篇一篇的攻克本帖中的内容,也可以作为字典,跳转至关注的内容去学习.希望大家在这里能快速成长,成为微信小程序开发的顶尖高手. 本帖的内容结构如下:一:小程序之张小龙全面阐述及思维导图:二:微信小程序官方地址三:如何学习微信小程序四:新手入门系列教程集合五:公司开发前必读六:个人开发前必读 一:小程序之张小龙全面阐述及思维导图: 小程序之张小龙全面阐述:于1月9日上线(

【LaTeX】E喵的LaTeX新手入门教程(2)基础排版

换了块硬盘折腾了好久..联想的驱动真坑爹.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇文档框架嗯昨天我们已经编写了一个最基本的文档,其内容是这样的:\documentclass{article}\begin{document}XXX is a SB.\end{document}这个文档呢其实是分为两部分的:一部分是\begin{document}之前的那部分也就是第一行,这一部分我们称之为导言区.导言区的内容可以不只一行,它的作用是完成文档的基础设定.比如在这个文档中,我们使用

WordPress建站 新手入门

WordPress建站 新手入门教程系列 1. WordPress入门 之 什么是WordPress? 2. WordPress入门 之 搭建WordPress站点需要什么条件? 3. WordPress入门 之 如何安装WordPress 4. WordPress入门 之 USBWebserver 快速搭建本地PHP环境 5. WordPress入门 之 WordPress基本设置 6. WordPress入门 之 创建和管理文章分类 7. WordPress入门 之 鲜为人知的后台“小私密”