文章Git本地项目上传,版本管理工具与GitHub的简单结合使用
Git(分布式版本控制系统)
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。a
Git能够帮助我们解决文件的提交、检出、回溯历史、冲突解决、多人协作模式等问题。
今天我们来介绍一下Git版本管理工具Sourcetree:
SourceTree 是 Windows 和Mac OS X 下免费的 Git 客户端,支持创建、克隆、提交、push、pull 和合并等操作。
SourceTree既有GitBash的命令行,又有EGit的图形化管理,用户界面很人性化,大大简化了开发者与代码库之间的Git操作方式,这对于那些不熟悉Git命令的开发者来说非常实用。
附上Sourcetree的下载地址:
http://pan.baidu.com/s/1kUT5c4v 提取码:qiwu
GitHub
一、创建远程仓库
1. 首先进入个人中心,点击头像选择Your profile

2. 接下来我们选中仓库, New一个新的仓库

3. 具体创建仓库的操作如下图


二、配置SSH Key
当我们使用GitHub时,每次进行push操作都需要我们登录用户名和密码,这样会大大的降低效率,对于我们可以在上传的时候采用另外一种解决办法—SSH key, SSH key 可以帮我们记住用户名,而且还会对我们的密码进行特殊的保护。
为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。
1. 检查并删除ssh key
配置之前,我们先检查一下电脑中是否存在.ssh文件, 如果有就删掉我们从新配置, 具体步骤如下:
点击Finder,前往文件夹, jens是我的主机名称,操作的时候写成自己的

说明: 这个.ssh文件属于隐藏文件,我们可以通过 终端 显示隐藏文件
显示Mac隐藏文件的命令:defaultswritecom.apple.finderAppleShowAllFilesYES 隐藏Mac隐藏文件的命令:defaultswritecom.apple.finderAppleShowAllFilesNO

2. 使用终端创建新的.ssh文件
为了防止出错,以下命令建议赋值粘贴
mkdir .ssh
3. 切换当前目录到.ssh文件夹下
cd .ssh
4. 创建公钥和私钥
ssh-keygen -t rsa -C"输入你的邮箱"
接下来会让我们输入密码之类的,直接回车,不做任何操作, 如下图

5. 查看是否存在 id_rsa(私钥) id_rsa.pub(公钥),存在就成功了。
ls -la

6. 拷贝公钥
pbcopy < ~/.ssh/id_rsa.pub
或者(cd ~cat/id_rsa.pub )
7. 在GitHub上配置公钥

由于我们刚刚执行copy命令,上面直接cmd+v就可以了,然后add ssh key


8. 执行如下命令
ssh -T git@github.com


三、上传本地项目到GitHub
1. 建立Git仓库
如果你要上传的项目目录下存在 .git文件,建议删除; 使用终端切换到你要上传的目录下面, 执行
git init

2. 将项目中所有文件添加到仓库中
注意add 后有个 . 建议赋值粘贴
git add .
3. 将我们添加的文件commit到git仓库, 添加注释
git commit -m "注释语句"
4. 接下来我们将本地的仓库与github上的仓库进行关联
git remote add origin github上仓库的地址

5. 上传之前我们先从git上拉取一下
git pull origin master
这个过程,可能会让你输入github的账户名和密码(注意:密码输入不显示),输入完成之后会出现如下的截图

这是vi编译器的窗口,不需要我们做操作,直接退出就可以,
点击键盘i进入编辑模式 -> 点击Esc -> 输入 :wq - > 回车
6. push本地项目到远程仓库
git push -u origin master

此时我们看到又要我们输入git账号和密码,输入即可!等待完成我们就可以在github上看到我们的项目。(如果没有设置直接回车即可,是默认)

上传本地项目,到这里就结束了,下面我们介绍一下,git版本管理工具的简单使用。
http://www.jianshu.com/p/466cf85c0ad8,