一、Git
Git:是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
工作区:就是你在电脑里能看到的目录。
暂存区:英文叫stage, 或index。一般存放在 ".git目录下" 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git常用命令
1、cd /Users/xxx/git/项目名:找到git内对应项目位置
2、git branch:查看分支
3、git status:查看项目目前所在分支
4、git checkout master:切换到master分支上
5、git pull:更新远程项目到本地
6、git add
7、git commit
8、git push origin 本地分支:远程仓库分支:把本地分支推到远程仓库分支上
9、git branch --set-upstream-to=origin/分支:设置本地分支到指定远程仓库
10、git branch -r:看远程所有分支
11、git branch -v:查看本地所有分支以及目前在那个分支
注:Git遇到的问题
1、Exception caught during execution of reset command. Cannot lock /地址/git/项目名称/.git/index
2、Cannot pull into a repository with state: MERGING_RESOLVED
解决方法
出现1、2问题找到本地git存放项目的位置,然后打开对应项目目录,找到.git并打开,删除.git目录下index.lock
二、SVN
SVN:是一个开放源代码的版本控制系统
SVN常用命令
1、svn add
2、svn commit
3、svn update:更新远程项目到本地
4、svn delete
5、svn lock -m:加锁
svn unlock:解锁
6、svn diff:比较差异
7、svn status :查看目录状态
三、Git 和SVN的区别
1、GIT是分布式的,SVN不是。
2、GIT把内容按元数据方式存储,而SVN是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。
3、GIT分支和SVN的分支不同:分支在SVN中一点不特别,就是版本库中的另外的一个目录。
4、GIT没有一个全局的版本号,而SVN有:目前为止这是跟SVN相比GIT缺少的最大的一个特征。
5、GIT的内容完整性要优于SVN:GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。