svn和git区别,以及git常用命令

关于源码管理工具的学习与总结:


SVN又叫做集中式版本控制器。严重的依赖服务器端,当服务器端无法使用的时候,版本控制也就无


法再使用:代表TortoiseSVN(windows)cornerstone(mac)  开发中结合BeyondCompare(文件对比工具)


更能提高效率.


Git是目前世界上最先进的分布式版本控制系统(没有之一)。当这个系统的任何一个客户端出现问


题的时候,都可以从另外的客户端(即使服务器挂了)获取所有的代码。代表gitHub,gitLab 图形化界


面:sourceTree

下图说明集中式版本控制器和分布式版本控制系统:

svn和git区别,以及git常用命令_第1张图片svn和git区别,以及git常用命令_第2张图片


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的工作流程:
svn和git区别,以及git常用命令_第3张图片


常用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基本操作就差不多都会了。


你可能感兴趣的:(代码管理)