关于源码管理工具的学习与总结:
SVN又叫做集中式版本控制器。严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无
法再使用:代表TortoiseSVN(windows),cornerstone(mac) 开发中结合BeyondCompare(文件对比工具)
更能提高效率.
Git是目前世界上最先进的分布式版本控制系统(没有之一)。当这个系统的任何一个客户端出现问
题的时候,都可以从另外的客户端(即使服务器挂了)获取所有的代码。代表gitHub,gitLab 图形化界
面:sourceTree
下图说明集中式版本控制器和分布式版本控制系统:
svn和git的区别:
1.git是分布式的,svn是集中式的
2. git把内容按元数据方式存储,而svn是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小
跟.svn比较,你会发现它们差距很大。因为,.git目录是处于你的机
器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。
3. git分支和svn的分支不同:
git可以从同一个工作目录下快速的在几个分支间切
svn中分支就是版本库中的另外的一个目录。
git可以从同一个工作目录下快速的在几个分支间切换
4. git没有一个全局的版本号,而svn有:
5. git的内容完整性要优于svn:
git的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
6.git下载下来后,在本地不必联网就可以看到所有的log,很方便学习,SVN却需要联网;
常用git命令总结:
1.git add . 将文件提交到暂存区
2.git commit –m ‘’ 将文件暂存区提交到版本区
3.git push <远程主机名称> <本地分支名称> 将暂存区分支推送到远程
4.git commit –a –m ‘’ 直接将文件提交到版本区
5.git checkout 分支名称 切换分支
6.git fetch origin 分支名称 从远程获取最新版本到本地,不会自动merge
git pull origin 分支名称 从远程获取最新版本到本地,自动merge
7.git status 查看分支状态 git log 查看历史提交
8.git--help 查看帮助
9. git checkout -- readme.txt 将文件从暂存区回退到工作区或暂存区
10 .git reset HEAD^ 从版本去回退到工作区 git可以从同一个工作目录下快速的在几个分支间切换
11.touch.gitignore 创建忽略文件
12.git merge 分支 合并分支
13.git log 查看历史提交记录
14.git branch -a 查看所有分支
最后总结下自己合并代码的方式:IDE型编辑器,自带集成的合并方式,以及gitLab上递交合并请求的方式,sourceTree(git图形化界面)。
推荐教程:廖雪峰个人官网 看完之后,git基本操作就差不多都会了。