使用Git进行版本控制作
1、Git简介
git是一个分布式版本控制软件,与CVS、Subversion一类的集中式版本控制工具不同,它采用分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流及其方便。
实现原理
git和其他版本控制系统(如CVS)有不小的差别,git本身关心文件的整体性是否有改变,但多数的版本控制系统如CVS或Subversion系统则在乎文件内容的差异。git拒绝保持每个文件的版本修订关系。因此查看一个文件的历史需要遍历各个history快照;git隐式处理文件更名,即同名文件默认为其前身,如果没有同名文件则在前一个版本中搜索具有类似内容的文件。
git更像一个文件系统,直接在本地上获取资料,不必连线到主机端获取资料。 每个开发者都可有全部开发历史的本地副本,changes从这种本地repository复制给其他开发者。这些changes作为新增的开发分支被导入,可以与本地开发分支合并。
分支是非常轻量级的,一个分支仅是对一个commit的引用。
git是用C语言开发的,以追求最高的性能。git自动完成垃圾回收,也可以用命令git gc --prune直接调用。
git存储每个新创建的object作为一个单独文件。为了压缩存储空间占用, packs操作把很多文件(启发式类似名字的文件往往具有类似内容)使用差分压缩入一个文件中(packfile),并创建一个对应的索引文件,指明object在packfile中的偏移值。新创建的对象仍然作为单独文件存在。repacks操作非常费时间,git会在空闲时间自动做此操作。也可用命令git gc来直接启动repack。packfile与索引文件都用SHA-1作为校验和并作为文件名。git fsck命令做校验和的完整性验证。
git服务器典型的TCP监听端口为9418。
2、使用教程
2.1 安装git
首先去git官网下载适合你的机器系统的git软件
Windows系统的直接点击下图红色箭头所指处进行下载,下载完成后直接安装,安装时全都下一步即可。
git配置
当安装Git后首先要做的事情就是设置用户名称和email地址,因为每次Git提交都会使用该用户信息。
1、在Git Bash中配置全局用户名和邮箱:
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
2、查看配置
git config user.name
git config --list
3、若在Git Bash中遇到乱码的问题
3.1 在GitBash中执行以下命令:
git config --global core.quotepath false
3.2 ${git_home}/etc/bash.bashrc 文件最后加入下面两行,git_home是你安装git时的路径
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
2.2 Github创建仓库
在github中创建你的代码仓库
2.3 使用Goland将源码上传到Github
2.3.1 初始化本地仓库
在Goland中选择菜单栏中的VCS栏目下的Create Git Repository创建Git仓库
2.3.2 Goland中配置Git与Github
在Settings中选择Version Control栏目下的Git,填写git的安装地址并点击右侧的Test,如果出现git的版本号,则表明该地址正确,然后点击右下角的ok。
然后点击Version Control栏目下的GitHub,再点击Add account,再点击Log In via GitHub
认证成功后会出现你的Github账户
2.3.3 设置远程仓库
点击菜单栏中的Git栏目下的Manage Remotes...,在点击+
将你创建的Github仓库页面的下方红框位置的SSH链接添加到URL位置处
2.3.4 提交到本地仓库
在goland中段中输入git init命令,该命令可以将这个目录变成git可以管理的仓库
这时候你当前目录下会多一个.git的目录,这个目录是Git来跟踪管理版本的,没事千万不要动这个目录。
点击GoLand中的菜单栏中的Git中的Commit,然后点击左下角的commit,等一会儿后将会提交到本地仓库中
再次点击GoLand中的菜单栏中的Git中的Push,将项目推送到Github的仓库中
在Github中可以看到本地的文件已经被推送上来了
2.3.5 查看Git log版本相关内容
2.3.6 克隆远程仓库到本地
再次点击GoLand中的菜单栏中的Git中的Clone...
2.3.7 创建分支
点击左下角的Git,然后在要分支的项目中右键New Branch