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,添加远程地址:
后面的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,这些下面的博客中有详细讲解。
【Github的相关使用文章】
Git介绍,安装,Git+Git flow使用:http://my.eoe.cn/fogs/archive/799.html
Git 指令集:http://my.eoe.cn/iceskysl/archive/463.html
在mac上安装git-flow过程:http://my.eoe.cn/iceskysl/archive/118.html
git fetch 的简单用法:更新远程代码到本地仓库:http://my.eoe.cn/com360/archive/3533.html
git 如何让单个文件回退到指定的版本:http://my.eoe.cn/com360/archive/3351.html
如何使用Github上的开源项目:http://my.eoe.cn/fengyiyezi/archive/3427.html
Window(8)下安装 MSysGit 、gitflow 、GitHub:http://my.eoe.cn/sunxun/archive/158.html
git 打tag:http://my.eoe.cn/xiayang6/archive/446.html
基于Github参与eoe的开源项目指南:http://my.eoe.cn/iceskysl/archive/3195.html
Git stash 使用方法:http://my.eoe.cn/sunxun/archive/190.html
Git tag的使用:http://my.eoe.cn/futurexiong/archive/1943.html
大白话讲解如何给github上项目贡献代码:http://my.eoe.cn/leigo/archive/3221.html
最后再推荐几篇社区里介绍知道github使用的帖子:
githup的使用
http://www.eoeandroid.com/thread-272837-1-1.html
Eclipse上GIT插件EGIT使用手册
http://www.eoeandroid.com/thread-273360-1-1.html
ubuntu下git服务器的搭建
http://www.eoeandroid.com/thread-273167-1-1.html
git , vim , ls 全局配置
http://www.eoeandroid.com/thread-229638-1-1.html
以上希望对大家学习起到积极的作用,一个好的程序猿势必要学会github的使用。如果本文大家觉得还不错,就告诉你身边的朋友吧,如果觉得看得过去那么就分享一下吧,如果觉得有待修改,那么请指出不足并且给打赏几个e币。最后感谢百度的无私支持,以及某个人的博客(说真的真的忘了他的地址是啥了),Hello Github。
******************************************************************************************************
Ubuntu Linux 下 git 的创建和配置
1. 创建github 账号:
账号密码自己填。Ok。
2. 进入Ubuntu命令编辑器。
1)生成SSH keys
- ssh-keygen -t rsa -C "yangyi@sina.cn"
- root@yangyi:~# ssh-keygen -t rsa -C 'yangyi@sina.cn' #这里填你的注册邮箱
- Generating public/private rsa key pair.
- Enter file in which to save the key (/root/.ssh/id_rsa): #回车就可以,默认的路径
- Created directory '/root/.ssh'.
- Enter passphrase (empty for no passphrase): #输入密码,不一定要是注册密码
- Enter same passphrase again: #重复输入密码,看不见的
- Your identification has been saved in /root/.ssh/id_rsa.
- Your public key has been saved in /root/.ssh/id_rsa.pub.
- The key fingerprint is:
- a0:95:33:24:26:ca:b7:ed:c2:95:97:48:d4:e9:4f:89 yangyi@sina.cn
- The key's randomart image is:
- +--[ RSA 2048]----+
- | . o.o . |
- |.. o.o + |
- |.. . .B . . |
- | . +ooE.o |
- | ..= oS |
- | . o . . |
- | o . |
- | . |
- | |
- +-----------------+
- root@yangyi:~#
2)复制key 到github网站
打开,刚才生成的密钥:
全部复制,进入github 网站,点击Account settings
点击SSH keys
Add SSH key
输入,刚才复制的密钥,到key 框中,title 随便填就可以了。
点击 Add key ,会跳转到确认密码页面:
Confirm password 即可。
Ok .ssh key 添加完成:
3) 密钥验证
- ssh -T git@github.com
- root@yangyi:~# ssh -T git@github.com
- The authenticity of host 'github.com (204.232.175.90)' can't be established.
- RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
- Are you sure you want to continue connecting (yes/no)? Yes #输入yes
- Warning: Permanently added 'github.com,204.232.175.90' (RSA) to the list of known hosts.
- Enter passphrase for key '/root/.ssh/id_rsa': #输入创建密钥时的密码。
- Hi iyangyi! You've successfully authenticated, but GitHub does not provide shell access.
- # 出现这一句,代码验证成功。
3. 安装git
Ubuntu 安装git 很简单:
yangyi@yangyi:~$ sudo apt-get install git # 自动安装好了就可以了。
4. 配置邮箱和用户名:
https://help.github.com/articles/set-up-git#platform-linux
yangyi@yangyi:~$ git config --global user.name 'iyangyi'
yangyi@yangyi:~$ git config --global user.email 'yangyiphper@sina.cn'
yangyi@yangyi:~$ git init
Initialized empty Git repository in /home/yangyi/.git/
Ok 安装和配置完毕。
*************************************************************************************
github的多人协作
-
github上你可以用别人的现成的代码 直接 git clone 即可了
-
然后你也想改代码或者贡献代码咋办?
Fork
从别人的项目中fork一个到你自己的仓库 这个时候这个仓库就是你的了,要删除这个仓库到设置-admin 那里,像你删除你自己创建的repo一样删除,(因为这个库就是你的了,你现在可以任意修改这个库,除非你pull request被接受否则你 不会对原作者的库产生任何影响)
比如osteach账号下有个osteach.github.com的库 这个项目的地址是https/github.com/osteach/osteach.github.com
这时候我(suziewong)想贡献代码了。fork之 fork之后,你的个人仓库就多了这个库https://github.com/suziewong/osteach.github.com
开发并且提交代码
clone
首先要从github上下载代码到本地,你需要执行如下命令:
git clone https://github.com/suziewong/osteach.github.com.git
cd osteach.github.com
然后代码到本地里了,你就可以各种修改 add commit 了
commit
当你修改代码之后,需要commit到本地仓库,执行的命令如下:
git add xx
git commit -m '修改原因,相关说明信息'
push
执行git commit之后,只是提交到了本机的仓库,而不是github上你账号的仓库。你需要执行push命令,把commit提交到服务器。
这里你可以直接git push 木有问题直接到远程默认仓库,当然remote add 也木有问题,因为和操纵自己的库没有任何区别
git push
这里的git push 指的是push 到suziewong/osteach.github.com 的默认仓库(master)
这里有重点
这里你如果 remote add osteach osteach/osteach.github.com.git
好吧,你
git push osteach master 之类的都是没用的
因为你没有权限!没有权限修改别人(osteach)的库!
上游仓库
添加远程仓库
git remote add origin https://github.com/suziewong/osteach.github.com.git
更新远程代码: 好吧,这里得分2种情况 1.拉取自己的库的最新的代码到本地(这个其实和操纵自己的库没撒区别)
git pull
2.你正在开发,主作者【项目负责人】osteach也在开发,你当时fork的代码已经不是osteach的最新的代码了。 这时候的你对你的代码肯定没问题,但是pull request 就有可以会出错,因为你fork的repo和现在的osteach的repo已经不一样了。 这时候理论上osteach会close你的request,让你先pullosteach的最新代码。 于是乎 git remote add osteach osteach/osteach.github.com.git git fetch osteach master:develop
自己merge代码 不和谐的地方,这里肯定不能git pull,会提示conflict 即代码是需要自己merge的
你修改代码后
git add
git commit
然后测试一下是不是已经拉取完成最新的了。
git pull osteach master
你就会发现原先的出错不见了,变成了**everything update **
你就可以提交到自己的远程版本库了。 git push origin master
之后你再pull request,osteach那边就木有出现 不能 auto merge的情况了,然后osteach看你的代码给不给力, 给力就merge你的代码到他的主分支去了。 功德圆满 :)
pull request
登陆github,在你自己的账号中的仓库中点击pull request,就会要求你输入pull request的原因和详细信息,你确认之后。osteach的owner就会收到并且审查,审查通过就会合并到主干上。
*********************************************************************************************
如何在github上fork一个项目来贡献代码以及同步原作者的修改
作为一个IT人,通过github进行学习是最快的成长手段。我们可以浏览别人的优秀代码。但只看不动手还是成长得很慢,因此为别人贡献代码才是明智之举。比如我们看下片看,许多大片都是由字幕组免费翻译压制的。为什么他们要这样做呢?因为他们都是聪明的大学生,为了提高听力水平,提高笔译水平才这样干的!中国人都是非常实务的!因此贡献代码,参与开源项目都是有益无害的!好了,让我们开始吧!
如何贡献自己的力量
首先你总得有自己的github帐号吧,注册一个,非常简单,只需用户名,邮箱,密码,邮箱只是用来找回密码的,不做验证。因此注册后立即能用!比如我现在新注册一个叫JsLouvre的示范帐号。
然后搜索我的项目——mass Framework
第一个就是,点击进入项目,然后点上方的Fork按钮,这就拷贝一份我的项目的副本作为你自己的项目
创建成功!
接着就是修改代码了,这要在自己发现真的存在漏洞或有什么改进之处才要动手啊!不能想改就改。要通读你要改的那一部分,必要时通读全框架。因此新手们最好找国内高手的框架进行学习, 一来中文注释比较亲切,二来也方便接下来的交流。通常我们在clone git到本地进行修改的,这又涉及另外一些工具与命令的学习。不过,github完全允许你在线上进行修改,提交,合并。
比如你发现data模块的注释与mass模块的不一样,要统一合并,将函数外的注释移到里头。(更有意义的方式是,打开http://www.jshint.com/,就能发现许多小问题。
变成编辑状态,不过不太好用。大家有条件一定要学学如何使用TortoiseGit或Sublime Text 2下载github项目到本地,进行修改,提交,pull request啊!
请认真写下你的修改日志,方便原框架作者查阅。
修改成功后的样子:
接着下来一步非常重要,就是提交你的修改给原作者。点击上方的pull request按钮!
红色区域为原作者的项目,你要贡献的目标;亮蓝色区域为你的项目;黑色处填写标题与必须描述;点击右下方绿区域的按扭进行提交!
接着下来就是框架作者的事儿了,我会在自己的项目看到你们的提交。万一以后你们有幸被别人贡献代码,也做这活儿。
点击中间那个大大的pull request(2)的按钮到另一页面,中间有个被鲜绿色高亮的merge pull request按钮。作者查看你的修改,觉得可以就点它进行合并。
最后你们就会在原项目上看到自己贡献的代码!
如何让自己的项目与原作者的项目保持同步!
我经常看到许多人,只会fork一次,提交过一次修改就不知怎么办了!因此原框架作者是非常勤奋的,一天会提交N次,一个星期后许多文件都改动过了,而那些代码贡献者不可能一个个跟着修改。 因此我们还是用到上方的pull request按钮。
这次是把自己的项目放到左边,原框架作者放到右边,在选择过程中,你会发现原框架作者有许多贡献者的。这里我希望大家一定要浏览Commits与Files Changed进行学习!这也是github最大的价值所在!把握别人对代码的改进,最能提高我们编码水平。这里面会涉及大量的编码技巧!
补上必要说明,然后点击下方send pull request按钮。
很快你就看到评论区最下方有个鲜绿色高亮的按钮,继续点就是。
继续让你确认,没问题就继续点!
这样就同步成功!!!!!!