一、前言
GitHub 使用 git 分布式版本控制系统,可以托管各种git库,并提供一个web界面对git库进行管理。为一个项目贡献代码非常简单:首先点击项目站点的“fork”按钮,然后将代码检出到自己的代码库中,修改之后,最后可以通过内建的“pull request”机制向项目负责人申请代码合并。
二、使用方法:
1、注册GitHub账号以及创建仓库
登录gitHub官网注册gitHub账号,之后找到Create a New Repository创建仓库(免费用户只能建公共仓库),之后会出现一些仓库的配置信息。
2、安装客户端msysgit
github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,因为我用的windows系统,所以这里需要用到msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。
装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here(或者打开Git Bash控制台,然后输入命令git init即可),之后我们会看到本地仓库中多出来一个.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"
三、如何将本地项目上传到GitHub仓库
在本地项目所在目录按以下步骤操作
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:yourusername/yourprojectname.git
git push -u origin master
注意:
yourusername这个一般是你的用户名,yourprojectname这个是你的项目名,返回到GitHub的web界面可以查看到。
有的时候可能到了第四步出现了以下问题
$ git remote add origin git@github.com:yourusername/yourprojectname.git
fatal: remote origin already exists.
解决办法如下:
1、先输入
$ git remote rm origin
2、再输入
$ git remote add origin git@github.com:yourusername/yourprojectname.git
就不会报错了!
3、再次用push命令进行推送:
$ git push -u origin master
最后再次回到GitHub的web界面刷新一下,就能够看到自己刚刚上传的项目了。。。
四、后续:
1、关于.gitignore文件
.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。例如java项目的.classpath文件、.project文件等等,我们并不需要git来管理,这时就可以忽略掉。
在本地项目的目录的空白处右键打开Git Bash,输入touch .gitignore创建一个.gitignore文件或者直接新建一个txt记事本重命名为.gitignore(注意,没有后缀名,直接就是.gitignore)。
#忽略java的属性配置文件
/.settings ##忽略文件夹
.classpath ##忽略文件
.mymetadata
.project
之后执行一系列命令add——》commit——》push即可(因为是首次提交到服务器,而服务器上没有什么更新,所有没有必要执行pull命令)。
git add .
git commit -m "add .girignore file"
git push origin master
2、创建开发分支
因为我们首次把本地的项目上传到GitHub上面都是master主干分支,但是实际去做开发的时候,一般不会选择在master主干分支上进行操作,通常会在主干master分支的基础上再开辟出一个分支(例如dev分支),然后在这个dev分支上进行修改,最后再合并到master主干分支上去。那这个时候可以这样操作:
进入到本地项目所在的目录,本地仓库中,右键调出Git Bash控制台,
1、创建分支,并且切换分支
git checkout -b dev
2、将dev分支push到远程
git push origin dev
最后,就可以按照常规的操作进行多人协作开发了。
git add——》git commit——》git pull——》git push
到这里基本上就全部结束了,以上这些就是我这最近一周以来使用GitHub的一个简单总结,始终坚信:越努力,越幸运,加油!!!
原文参考: