Git 与Svn 都是作为我们代码管理的一个基本的工具。
我在这里仅仅是做一个自己学习的笔记记录。
1、Git与Svn的区别
Git是可以离线管理的工具,Svn则是只能在线上进行代码。Git相当于svn的不同点主要是体现在两者的设计理念上的区别把。
Git 的离线管理机制;
Git 的分支管理机制;
由于Git 在本地建立了一个和远程服务上一模一样的Git代管管理库(本地缓存区),我暂时称之为Local_Git。在修改了代码(内容之后),我们可以对应的命令,查看到对应的修改状态,然后对应的进行提交操作,但是这次首先提交到本地的缓存区,通过push 命令在最后推送到远程服务。当网络失效,我们依赖本地的缓存,同样是可以进行对代码进行管理。等网络联通后,我们在提交到远程服务上,相对于Svn的在线管理,Git的离线管理还是相对有有效的。
由于Git是实现了本地和远程服务分离独立管理的机制,所以在分支管理和离线管理都是十分简单有效。在Git库里头有N个分支,默认则是master分支。我们自己可以用命令branch ,新建新的分支。新建的分支是首先在本地的缓存区中出现,我们最后也是通过命令push 命令把新建的分支推送到服务上。
2、命令过程
令 git status 可以直接查看到当前分支下的代码(内容)状态,是否发生了改变。
命令 git commit -a ,则是把修改的代码同步到Local_Git下对应的分支中(所有内容)。
命令 git push origin ,则是把本地缓存区Local_Git的内容提交到远程服务上的Git库对应的分支。
命令 git branch newBranchName(新增分知名),新增一个分支。
由于Git 离线的机制,我们新增的分支仅仅是在本地缓存Local_Git中存在,并没有提交到远程服务上。
命令 git checkout -b newBranchName,则由当前的分支切换到新建分支上。
命令 git push origin newBranchName,则是把本地新建分支提交到远程服务上。
命令 git branch -a 可以查看所有的分支 ,分支展示规则:默认是按照分支建立时间,第一部分是展示本地分支,第二部分(remotes/origin/)开头的是远程分支。(*)星号标记的则是当前选中的分支。
在分支切换的过程,则是Git本地缓存的指针指向切换的过程,这个是相对于Svn来说在性能和管理上的一个提升。
切换分支后,本地指向的代码(内容)会立刻切换为该分支的解决方案。