一、Git服务器的搭建
1.可以在本地服务器进行搭建,参考: 使用Gitolite搭建轻量级的Git服务器
2.可以使用网上的公共代码服务器,比如Github(公开项目免费)、Bitbucket(个人使用免费)以及码云,直接注册账号即可使用。
二、Git客户端使用
1.预备工作
在本地至少要安装git客户端:
2.生成自己的秘钥文件
在git bash中执行:ssh-keygen,输入自定义的秘钥文件保存路径和密码,会在定义的目录下生成两个秘钥文件。
注意:本步骤在win下执行会有符号相关的问题,建议在linux中生成后复制使用。
[root@localhost Desktop]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ff:5c:23:7c:cb:b5:49:a1:1a:b0:4a:96:8e:ea:d6:96 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| |
| |
| S. . |
| ..o. . .|
| . .+ ...o.+..|
| . E= . oo=.+o|
| ooo. o .o oo |
+-----------------+
[root@localhost Desktop]# cd /root/.ssh/
[root@localhost .ssh]# ls -l
-rw-------. 1 root root 1766 Aug 14 10:26 id_rsa
-rw-r--r--. 1 root root 408 Aug 14 10:26 id_rsa.pub
3.拷贝两个秘钥文件到本地
请将两个秘钥文件拷贝到本地的../<currentuser>/.ssh/目录下。
注意:如果本地无法创建.ssh目录,可以通过在本地git bash中执行ssh-keygen自动生成。
4.通过管理员添加用户
将步骤1中生成的.pub秘钥文件传给管理员,管理员将该文件上传到git服务器,并手动配置该用户对项目的访问权限。
5.开始使用git服务器管理代码
管理员配置完毕后,用户即可在本地git bash中执行命令:
Clone项目:git clone ssh://git@host/xproject.git
其他命令亦是如此。
也可以通过eclipse的git插件来执行代码的获取提交等。
6.开始开发xproject
将代码clone下来后,导入到eclipse,目前xproject是切换到devel分支进行开发的,所以需要选中项目-右键-team-switch-devel branch,之后进行开发。
三、Git与SVN的主要区别
SVN是Subversion的简称,是一个开源的集中式版本控制系统。版本库是集中放在中央服务器(respository)的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器那里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大速度够快,如果网速慢的话就麻烦了。
Git是分布式版本控制系统,那么他就没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?只需要把各自的修改推送给对方就可以互相看到对方的修改了。
四、Git的客户端工具
1. GUI客户端工具(方便编辑冲突)
Source Tree
免费;
内置GitHub, BitBucket 和 Stash 的支持:直接绑定帐号即可操作远程repo;
同时支持 Git 和 Mercurial 两种 VCS;
支持win和mac系统;在Win环境下界面支持多语言,包括中文;
功能强大:无论你是新手还是重度用户,SourceTree 都会让你觉得很顺手。对于非常重度用户,Source Tree还支持自定义脚本的执行。
TortoiseGit
免费;
只提供Windows版本,提供中文版本支持;
由于先前TortoiseSVN的流行,此类用户对TortoiseGit上手将会更加容易。
2.命令行客户端
git-scm.com
git-for-windows.github.io
https://git-for-windows.github.io/
在win下,命令行客户端一般与GUI客户端集成到一个工具包中。
3.文件/文本比较工具
很多GUI客户端工具会提供冲突编辑界面,以下文件/文本比较工具,可以作为代码合并或冲突解决过程的补充助力工具。
Beyond Compare
Beyond Compare是文件或文本比较、合并工具,功能强大;
Notepad++ Compare
Notepad++是文本编辑工具中,Compare是其提供的文本比较插件,支持语法高亮。
3. IDE集成的Git客户端
在Eclipse等IDE中一般都会集成Git和SVN等,通过图形化的界面可以进行GIT操作。
五、Git使用原理及常用命令
Git命令参考
Git Book:https://git-scm.com/book/zh/v2
Git简明指南:https://rogerdudler.github.io/git-guide/index.zh.html
Git简明教程:http://backlogtool.com/git-guide/cn/stepup/stepup2_3.html
Git Branch
参考:http://www.cnblogs.com/TonyYPZhang/p/6219265.html