一、 GitHub是一个源代码的在线托管平台,提供了版本控制和协同工作功能。
二、GitHub使用步骤:
步骤一、创建一个知识库
在GitHub里,知识库总是用来组织某一个特定的项目。知识库可以包含文件夹,文件,图片,音频,视频,数据表或数据集--任何你的项目需要的文件都可以。
步骤二、创建一个分支
分支是同时对一个知识库或者说项目进行工作进行版本区分的方式。
默认的情况每一个知识库都会有一个master分支,这是所在项目的主分支,可以理解为项目的生产环境或正式环境。
步骤三、修改并提交
目前就在 readme-edits 分支里,这是 master的一个拷贝。接下来来进行一些修改。
在GitHub要把修改和提交叫作commits。每一次的commit 都需要一个commit message,用来说明这次修改的目的。Commit。
messages保存了所有修改的日志,这样别人可以看出来这个项目作了哪些修改和为什么要做这些修改。
步骤四、创建一个合并请求
合并请求是GitHub进行团队协作的核心,当创建一个合并请求的时候,所做的就是提议将修改合并到别的分支中去。合并请求时会显示两个分支的不同之处,通过绿色和红色来标识新增或删除。
步骤五、合并请求
在这最后一步我们要做的就是把你修改过的分支readme-edits合并到master分支中去。
点击 Merge pull request按钮。
点击Confirm merge。
点击 Delete branch 按钮来删除已经不需要的分支。
github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O~。步骤:
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,添加远程地址:
$ git remote add origin git@github.com: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.1查看tag
列出所有tag:
git tag
这样列出的tag是按字母排序的,和创建时间没关系。如果只是想查看某些tag的话,可以加限定:
git tag -l v1.*。
这样就只会列出1.几的版本。
6.2创建tag
创建轻量级tag:
git tag v1.0
这样创建的tag没有附带其他信息,与之相应的是带信息的tag:
git tag -a v1.0 -m 。
'first version'。
-m后面带的就是注释信息,这样在日后查看的时候会很有用,这种是普通tag,还有一种有签名的tag:
git tag -s v1.0 -m 。
'first version'。
前提是你有GPG私钥,把上面的a换成s就行了。除了可以为当前的进度添加tag,我们还可以为以前的commit添加tag:
#首先查看以前的commit
git log --oneline。
#假如有这样一个commit:8a5cbc2 updated readme。
#这样为他添加tag
git tag -a v1.1 8a5cbc2。
6.3删除tag
很简单,知道tag名称后:
git tag -d v1.0。
6.4验证tag
如果你有GPG私钥的话就可以验证tag:
git tag -v
v1.0
6.5共享tag
我们在执行git push的时候,tag是不会上传到服务器的,比如现在的github,创建tag后git push,在github网页上是看不到tag的,为了共享这些tag,你必须这样:
git push origin --tags。
1、首先看你自己时候有账号,没有账号的话到https://github.com/注册Git账号。
2、如果已有Git账号,则需要下载windows安装文件包,地址:http://git-scm.com/download。
3、有了安装包文件后直接双击安装即可(因为下载的是在线安装包,所以会花费一点时间)。
如下图:
4、安装完后,会在桌面出现两个快捷方式,
第一个是Git的图形操作界面的快捷方式;
第二个是Git的命令行操作快捷方式;
点击右上角创建自己的代码文件库:。
如下图:
5、点击创建后就会出现下面的界面,我们根据说明填写自己的代码信息:
6、点击下面的大绿色的按钮“创建仓库”后,进入下一步,
7、下一步是点击Git Shell快捷方式,先把我们在Git上创建的仓库clone到本地来。
(1)使用ssh -T git@github.com命令来检查公约是否正确。
说明成功连接了Git服务器。
(2) 接下来就是对创建的库进行clone,这时候我们找到github文件夹发现文件夹下面是空的,如下图:
输入如下代码clone我们的github仓库:
git clone https://github.com/Chineseqiangzi/RenameMusic.git。
结果如下:
这时候我们再在gitHub的默认文件夹下面呢会发现一个文件夹。如下:
这时候说明我们已经成功的把github上的仓库clone了下来。
这时候的这个文件夹就相当于我们的工作台了。我把我写好的代码文件都拷贝到这个文件夹下面去,如下图:。
(3)接下来我们要选择上传到github的仓库中的文件,
我们需要执行以下语句
git add . (上传该目录下的所有文件,注意add和‘.’之间有空格)。
如果我们需要单独的上传某一个文件,只需要以该文件的名称替换‘.’
例如:git add program.cs (就是单独的上传program.cs文件)。
(4) 接下来提交代码使用如下命令:
git commit -m 'first_commit'。
使用过SVN或者TFS的时候,我们在提交代码的时候是需要给版本控制工具一个说明,来说明我们对代码做了哪些修改。
使用命令git commit -m 'first_commit' 添加说明。
(5)这时我们就会看到我们本地的源代码文件已经被创建到了github的仓库中,如下图:
(6)紧接着就是在我们的源代码地址创建远端仓库,我们源代码地址是:https://github.com/Chineseqiangzi/RenameMusic.git。
命令如下:
git remote add origin https://github.com/Chineseqiangzi/RenameMusic.git (创建名字为origin的远端仓库)
(7)这时我们就完成了整个的源代码提交到github的工作,这时我们就可以在github看到我们自己贡献的源代码了。
一、主体不同
1、github:是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管。
2、git:是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。
二、功能不同
1、github:以托管各种git库,并提供一个web界面,但与外国的SourceForge、Google Code或中国的coding的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性。
2、git:开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。
三、特点不同
1、github:主要用Rails实现。我们在进行的post-commit集成小应用完全使用Merb编写。我们使用了Python的Pygments来做格式高亮显示,另外,还用了Ara T. Howard's Bj加上一些Ruby脚本来做我们的排队系统。
2、git:适合分布式开发,强调个体。公共服务器压力和数据量都不会太大。速度快、灵活。任意两个开发者之间可以很容易的解决冲突。
参考资料来源:百度百科-GIT。
参考资料来源:百度百科-github。
解决办法就是直接去下载msysgit安装文件,这里给出几个链接:
(1)在github官网的set up git页面上找到msysgit的下载链接:http://git-scm.com/downloads。包括windows,linux,mac OS,solaris这四个版本。
(2)直接去msysgit的官网就是windows版本的下载链接:http://msysgit.github.io/;
或者msysgit官方的github链接:https://github.com/msysgit/msysgit/releases/,里面是多个历史版本;
或者msysgit官方的google code链接:Downloads - msysgit - Git for Windows - Google Project Hosting,里面也是多个历史版本。
(3)最后就是最cool的TortoiseGit:https://code.google.com/p/tortoisegit/。