最后更新于2017年01月24日python
为何不用svn?linux
svn是一个优秀的代码和版本管理工具,使用svn只须要搭建好svn中央仓库,配置本地svn客户端便可,自从google code关闭服务以后,互联网上已经没有很是好的公共svn仓库,若是是公司内部使用,还能够用上公司内网搭建的svn服务器,但我的就没那么方便了。git
为何用git?github
git和svn一样做为代码和版本管理工具,git的理念更先进,并且公共git仓库github真的好用,众多优秀的开源项目都放在githubwindows
什么是git、github、tortoisegit?缓存
github是目前世界上最大的代码托管平台,对我的也提供了很是丰富的功能;git客户端是windows系统下与github仓库传输数据的客户端工具;tortoisegit是git图形管理界面,依赖git客户端,提交时能够清晰看到变动内容安全
github官方网站:https://github.com/,注册过程:略bash
git客户端下载地址:https://www.git-scm.com/服务器
tortoisegit下载地址:https://tortoisegit.org/eclipse
双击下载的安装包,默认安装直到完成。
git客户端须要配置ssh创建与github之间的远程安全链接,安装完git客户端以后有以下快捷方式
打开git bash,输入如下内容,邮箱为github注册邮箱
ssh-keygen -t rsa -C "573215750@qq.com"
回车,输入“yes”,再回车,将在“C:\Users\john\.ssh\id_rsa.pub”文件生成ssh密钥,复制全部内容
登陆github,打开“Settings”
点击左侧“SSH and GPG keys”菜单,而后点击右侧上方“New SSH key”按钮,“Title”随意输入名称,“Key”处粘贴刚才复制的密钥,注意最后不要留空格或换行,保存配置
ssh -T git@github.com
第一次须要输入“yes”而后回车才能看到链接成功的信息,之后就不须要了
配置全局的用户名、邮箱信息,做为提交人信息
git config --global user.name "ywlaker" git config --global user.email "573215750@qq.com"
登陆github,建立一个工程,名为“test”,勾选“Initialize this repository with a README”,并选择一个license,以“Apache License 2.0”为例
建立完“test”仓库以后,查看该仓库,只包含两个文件:“README.md”和“LICENSE”
在eclipse下建立工程,名为“test”(名称任意),在资源管理器中查看项目
在git bash中查看项目(linux下点开头的文件为隐藏文件,因此只能看到三个文件(夹))
github的license与readme文件要同步到eclipse工程,eclipse工程的代码要同步到github仓库,而且eclipse自动生成的那些“.settings”、“.project”、“.classpath”还有“target”不须要同步到github仓库,怎么处理?
在资源管理器中打开“test”工程根目录,右键“Git Create repository here...”
或者,git bash输入命令
cd /d/eclipse/workspace/test/ git init
git bash输入命令
git remote add origin git@github.com:ywlaker/test.git git pull origin master
将eclipse自动生成的与代码无关的文件排除在同步列表以外,git bash切换到工程根目录,输入
vi .gitignore
而后按下键盘的“i”键,输入
target/ .settings .classpath .project
按下“esc”键,再输入“:wq”保存退出,此时“test”工程根目录多了一个“.gitignore”文件
由于windows下没法新建以点号开头的文件,因此只能用上面这种方式。
在资源管理器中进入“test”工程根目录,右键“Git Commit -> 'master'”
出现和tortoisesvn同样的提交界面,肯定内容后提交便可
这一步是将文件提交到本地git缓存,用命令行也能够,git bash切换至工程更目录,输入
git add ./* git commit -m "comment"
最后,将本地缓存同步到github仓库
git push -u origin master