使用Git上传项目代码到github
Github是一个基于Git的代码托管平台,我们可以创建自己的仓库(repository), Github上的仓库分为两种:私有仓库(private repository)和公共仓库(public repository),二者的区别在于:私有仓库你可以选择谁可以看到它以及谁可以commit,它是收费的;公共仓库对任何人都是可见的,任何人都可以commit,它是免费的。对于广大普通开发者来说公共仓库就已经足够用了。
一、注册github账户以及创建仓库
1.1 注册
点击 右上角的Sign up 或者直接在 下面的红框中 输入username、email和password,然后点击 Sign up for Github 即可
1.2 创建仓库
创建仓库很简单,点击头像旁边的 +号按钮就会跳到创建仓库页面
输入仓库的名称(必选项)、项目描述(可选项)、仓库的属性(public or private)、Add gitignore(可选项)和License(可选项)。
点击 Create repository 按钮 你将成功创建一个仓库。
二、安装Git
使用Git的第一步肯定是安装Git,因为在多数平台上Git是没有预装的,我平时主要的工作环境是Windows和Linux(ubuntu),我想看这篇文章的同学多半也是在这两个平台下工作;下面讲一下如何在这两个平台下安装和配置Git。
1. Linux (*nix) 平台
Linus开发Git的最初目的就是为了开发Linux内核服务的,自然它对Linux的平台支持也是最棒的。在Linux下安装Git大约有几种方法:
从源代码开始(这种方法也适合于多数*nix平台)
从Git官网的下载页面下载它最新稳定版的源代码,就可以从源代码开始编译、安装:
$ wget http://kernel.org/pub/software/scm/git/git-1.7.3.5.tar.bz2
$ tar -xjvf git-1.7.3.5.tar.bz2
$ cd git-1.7.3.5
$ make prefix=/usr all ;# prefix设置你的Git安装目录
$ sudo make prefix=/usr install ;# 以root权限运行
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
为了编译Git的源代码,我们还需要一些库: expat、curl、 zlib 和 openssl; 除了expat 外,其它的库可能在你的机器上都安装了。
使用安装包管理器(apt 或 yum)
在 fedora 等系统下用yum :
$ yum install git-core
- 1
- 1
在debian, ubuntu等系统下用apt :
$ apt-get install git-core
- 1
- 1
有时候,你系统里的安装包管理器出现了问题,或是要安装Git的机器不能上网、没有编译器的话,你可以从下面的站点去下载 “.deb” 或 “.rpm”的安装包。
2. Windows平台
Windows平台有两个模拟*nix like运行环境的工具:cygwin,msys;Git在cygwin,msys下都有相应的移植版本。个人觉得msys平台下的msysGit最好用,我在Windows下用的就是这个版本。
下面我“啰嗦”一下如何在windows下安装msysGit。
下载
到它的下载页面去下载一个最新的完整安装包,https://git-for-windows.github.io/,最新版本:2.6.3。
安装
安装的过程没有什么好说的,一般是开始安装后,一路的点击“下一步”。由于windows平台的换行符(CRLF)和Linux(*nix)平台的换行符(LF)不同,那么在windows下开发其它平台软件的朋友有一个地方要注意(见下图):
在这里最好选“Checkout as-is, commit as-is”这个选项,这样,Git就不会修改你代码的换行符风格。
三、配置Git
在Linux下和Windows下配置Git的方法差不多,只是在Linux下,可以在命令行里直接使用git config进行配置, 而在Windows下则要先打开“Git Bash”,进入msysGit命令行界面,再用git config命令进行相应的配置操作。
好了,前面安装好了Git,现在我们开始配置
1)第一个需要配置的就是用户的用户名和email,因为这些内容会出现在你的每一个提交(commit)里面的,
$ git config --global user.name "your name"
$ git config --global user.email "your_email"
- 1
- 2
- 1
- 2
Git的配置信息分为全局和项目两种,上面命令中带了“–global”参数,这就意味是在进行全局配置,它会影响本机上的每个一个Git项目。
Git 可以为每个项目设定不同的配置信息,在命令行环境,进入Git项目所在目录,执行下面的命令:
$ git config user.name "your name"
$ git config user.email "your_email"
- 1
- 2
- 1
- 2
Git的设计哲学和Linux(*nix)一样,尽量的使用“文本化”(Textuality);它里面尽量用文本化的形式存储信息,对于配置信息也更是如此,用户的这些配置信息全部是存储在文本文件中。Git的全局配置文件是存放在”~/.gitconfig”(用户目录下的.gitconfig)文件中:
我们用cat、head命令查看全局配置信息文件
如果对于Git熟悉后,可以直修改”~/.gitconfig”,”.git/config”这两个文件进行配置。
2)在本地创建ssh key
$ ssh-keygen -t rsa -C “your_email”
将后面的your_email改为你的邮箱,也是你在github上注册的那个邮箱:
直接点回车,说明会在默认文件id_rsa上生成ssh key。
因我之前已经生成过了,所以会提示我已经rsa key已经存在,直接输y选择覆盖即可。
然后系统要求输入密码,直接按回车表示不设密码
重复密码时也是直接回车,之后提示你shh key已经生成成功。
然后我们进入提示的地址下查看ssh key文件。 我的电脑的地址是C:\Users\YULORE-USER.ssh ,其中YULORE-USER是我的电脑的名称
打开id_rsa.pub,复制里面的key。里面的key是一对看不懂的字符数字组合,不用管它,直接复制。
然后回到github网站,进入Settings
左边选择SSH Keys,Add SSH Key
title随便填,粘贴key,然后点击 Add key 按钮。
3)验证是否成功,在git bash下输入
$ ssh -T git@github.com
回车就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
4)接下来我们要做的就是在本地电脑上新建一个仓库
$ mkdir git_demo
$cd git_demo
$ git init
- 1
- 2
- 3
- 1
- 2
- 3
5)添加远程地址
$ git remote add origin git@github.com:yourName/yourRepo.git
后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库
执行命令
加完之后cat 查看 .git/config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址
6)提交上传**
6.1)接下来在本地仓库里添加一些文件,然后在命令行输入一下命令
$ git add -A
$ git commit -m "first commit"
- 1
- 2
- 1
- 2
我的执行界面如下
6.2)push本地文件到github
执行命令
$ git push origin master
- 1
- 1
git push命令会将本地仓库推送到远程服务器。git pull 命令则相反。
注:首次提交,先git pull下,修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件。
大功告成,现在你的本地的项目已经提交到github上了。