git是后来居上的版本控制工具,目前已经有非常多的的开源产品用此工具,但此版本控制和别的版本控制工具相比还是有些不太一样,自己走了些弯路,再次记录一下。
学习资料:
http://forcefront.com/tag/organization/
http://www.worldhello.net/gotgithub/
这两个是中文学习资料,对入门很有帮助。
工具:smartgit,号称这个工具很好,但是要注册,不知道如何完成,虽然官方网站对个人开源产品可以免费使用,但是我的安装工具还是过期了,如果有人知道如何使用告诉我一下啊。
TortoiseGit,这个是比较有名的Tortoisesvn的移植版本,在svn的工具中一直是比较好用的工具。相信这个工具应该也不会令人失望。下面介绍的工具中,主要以这个工具为准。
安装TortoiseGit就不介绍了,安装完成后,会在资源管理器的右键上有体现。
这个是很重要的一部分,因为刚开始的时候,我在这方面耽误了一会时间。
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。也就是说使用ssh-keygen -C "[email protected]" -t rsa产生的密钥在TortoiseGit中不能用。而基于github的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥,配置步骤如下:
6)点击上图中的“Add Key”按钮,将第4步保存的ppk私钥添加进来,关闭对话框即可7)经上述配置后,你就可以使用
TortoiseGit进行push、pull操作了。“Git Clone...”是获得远程的版本库,“Git Create repository here”是将选定的文件夹作为要创建的版本库。
在要创建版本库的文件夹中点“Git Create repository here”后,会显示:
点“Ok”就会在该文件夹的根目录自动创建一个隐藏文件夹".git" 。
注意:最好找个空的文件夹练习操作,或者备份文件夹。比如误选了Clean up把无版本控制的文件都删了。
创建好之后,需要用git Sync...和服务器进行一次信息同步,同步后就可以取到服务器中项目的版本信息等。
本地提交:
master是Git默认的主要分支(主干),适合单人独自开发。多人开发时可以给每个人创建一个分支。
切换版本:用switch/checkout命令在切换版本。
按Git Commit -> “master”是将所选文件夹内容提交到用于汇总的库上。
提交修改后,出现:
以上就是如何提交更改到本地的版本库,所以无论有无网络Git都可以用。
远程提交:
本地Commit(提交)后,下面介绍的就是Push到远程啦.
首先,在待提交的本地文件夹内右键单击空白处,选择 TortiseGit->Settings 。
然后选择Config,并填写github.com中的用户名和邮箱。
当然填其他的也可以,这里填的是每次提交后,版本库中显示出来的作者名和联系方式。
接着选择Remote,可以看见右图有3个需要填写的文本框。
Remote:远程传送的一个代号(可以随便起个名字,自己看得懂就行)
Url:github的url地址,例如:[email protected]:zhulinu/cloudsql.git
填好后点addnew增加即可。
要从本地文件夹更新至网络库,选中文件夹(必须是Git初始化过的),然后右键单击,选择TortoiseGit->Push...,弹出下列窗口。
选择要push的本地分支,和远程目标的分支,点“OK”。
要从网络库更新至本地文件夹,相应的,选择TortoiseGit->Pull...。
在确定你已经设置过Remote的情况下,点“OK”就可以了。
本地提交后,可以不用手动远程提交,只要网络通,工具会自动同步到远程,大概10分钟左右把,当然也可以手工远程提交。