一、GitHub上新建一个Repository(简称repo)
步骤:
1.去GitHub注册一个账号
https://github.com/ ;
2.登陆后,页面右上角用户名旁边有个+图标,点击新建一个Repository,有的人喜欢翻译为 代码仓库,在我看来就是一个用来储存你的项目的容器。
然后开始输入该容器的一些信息:
* Repository name输入你的项目的名字(假如我输入的项目名为proj_one)
* Description 输入你的项目的概述,尽可能言简意赅,让浏览你GitHub的人能快速了解该项目的一些用途,吸引他们关注之。
点击新建之后,进入另一个页面,这里为我们提供了如何提交项目到GitHub服务器的一些命令,让你不用到处查阅的。这里一共有两个部分的
* Create a new repository on the command line
这个用于你首次建立代码仓库用的,里面包活告诉git开始对哪些文件进行跟踪,git会对已经跟踪的文件进行版本控制的,然后在本地提交,再到在GitHub服务器新建一个代码容器,命令本地的容器内容推送到刚才我们在GitHub上新建的容器。这个过程涉及到git协议的内容,不理解可以先不深究。
我摘抄其提供的代码如下:(blackstone86是我的注册用户名)
touch README.md
git init
git add README.md
git commit -m “first commit”
git remote add origin https://github.com/blackstone86/proj_one.git
git push -u origin master
* Push an existing repository from the command line
这一部分是你已经将代码上传到GitHub后,然后你本地更新了,如何将更新推送到GitHub上对应的容器,你可以理解成同步更新的过程。
我摘抄其提供的代码如下:
git remote add origin https://github.com/blackstone86/proj_one.git
git push -u origin master
注意:这两个部分都提到command line ,翻译过来就是命令行,所以执行它们的环境要在命令行的界面操作的。如Git提供的Git Bash
3.刚才的界面先保留住,然后去下载git并安装
http://www.git-scm.com/downloads
4.打开Git Bash,并定位到你要进行版本控制的开源项目路径
假如该路径为:D:\fitScreen_github
在Git Bash 输入:
$ cd d:fitScreen_github
$ git add .
$ git commit -m “Initail commit”
注意:
* $ cd d:fitScreen_github 可以写成 $ cd d:/fitScreen_github 或 $ cd b
* $ git add . 表示跟踪目录下的所有文件
* $ git commit -m “Initail commit” 表示提交到本地,在本地的git形成一个版本,其中-m表示此次提交的信息,这个是必须的。好让你知道为何而提交的。
* 这些操作其实与第二点的Create a new repository on the command line是相似的,但少了一个touch README.md,其实touch README.md是将git默认提供的README模板,执行这个会在我们本地D:\fitScreen_github下载一个 README.md,其实这一步可以免了,它只是GitHub给我们做个例子而已,因为它假设我们的项目是空的,所以它要下载一个新文件好让它举例而已,只要我们知道我们的D:\fitScreen_github路径下包含了该文件即可。
5. 最后就是拿一把公共钥匙SSH
所谓的公共钥匙就是让你提交的机器和GitHub做一个握手过程,让GitHub知道哪些机器有权上传内容到在你的GitHub代码仓库的。假如你在家想提交,在公司也想提交,那么你需要提供两把SSH,假如你公司的电脑换了,防止那台电脑给别人用来更新你的GitHub,你可以将那台机的SSH删掉就可以了。
下面讲下如何生成这个SSH:
可以参考https://help.github.com/articles/generating-ssh-keys
新开一个Git Bash
$ cd ~/.ssh
$ ls
$ ssh-keygen -t rsa -C ”[email protected]”
然后出现黄色的[Press enter],按回车
出现黄色的[Type a passphrase],按回车
出现黄色的[Type passphrase again],按回车
至此SSH生成完毕,到C:\Documents and Settings\jimvin\.ssh把id_rsa.pub文件打开,可以放在浏览器打开,也可以放到Sublime等代码编辑器中打开。
我的钥匙为:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAptBoQZ9lozD+wbKDKep5YGt055ie5uNsievtfseAiEqYK847V3BqmDntEP3Nf20lTJZsLAVRryfyVOynObhfzNGLdKvyMxgyjhSYLWKLfuFA1vLtcBD5MZAa省略一部分.............................................................................................................................. wpIJx3h8K6UH1b4qNbpoXN4PK66F/uD4UFJdRN2OxLXS81o1clwkFEL/lXeEtHcI8Zr7PsHug6uuEoG5Nk4c9pYPtAsHmemu4OJz2gYQ== [email protected]
6.回到你的GitHub的 Acount Setting,左边选择SSH Keys,输入你你的钥匙就ok了,钥匙名字随便起,建议与你的工作地点关联上,好让你以后知道把钥匙开那栋门是一个道理的。
7.最后一步
回到第四步打开的Git Bash, 输入
$ git remote add origin https://github.com/blackstone86/proj_one.git
$ git push -u origin master
注意:
*origin 为GitHub上新建仓库git的一个别名,你可以自己定义的,
*$ git push -u origin master 表示你要将master的本地仓库内容推送到别名为origin的GitHub仓库。
至此所有步骤完成,你再回到GitHub页面,点击你的Repository就可以看到你上传的东西了。
二、延伸:将修改同步到远程的GItHub
假如你有东西修改,修改了README.md,则如何同步GitHub呢?
步骤:
1.打开Git Bash,并定位到你要进行版本控制的开源项目路径
假如该路径为:D:\fitScreen_github
在Git Bash 输入:
$ cd d:fitScreen_github
$ git add README.md
$ git commit -m “update README.md”
2.将继续推送更新内容到GitHub仓库
$ git rm README.md
$ git commit -m "delete README.md"
$ git push -u origin master
系统会出现输入验证信息:
Username for 'https://github.com': blackstone86
Password for 'https://[email protected]': xxxxxxx
以下为系统返回的执行信息:
Counting objects:3,done.
.................
回过头去看一下我们的GitHub是否已经删掉那个README.md文件,事实验证是删除成功的。
注意,这里出现了rm ,这个的意思是删除的意思,$ git rm README.md是先缓存下来(属于已暂存状态), $ git commit -m "delete README.md"是提交动作(属于commited状态),当你物理删除README.md之后,git会将该删除动作纳入为未缓存的状态的。
三、结语
这些东西只是基本的GitHub用法,能帮你发布你的个人开源项目到GitHub的代码仓库,将本地git与GitHub实现同步操作。至于团队的协作方面可能还要继续深入研究Git的协议和用法,例如分支等概念,GitHub只不过是基于Git协议的一个网络应用,要分清它们之间的关系,虽然说GitHub是代码的版本管理系统,但并不是只有代码才需要版本的,例如,音乐的乐谱,作家的文章其实都可以用版本管理器进行管理,只要需要进行版本追溯的都可以应用上的。
另外,在开源社区发布你的工作成果,可以增加你的业内影响力的,同时让更多人参与到项目中,集众人之智慧,让项目越来越健全!