从VSS到SVN再到Git 记Git的基本操作

发布时间:2020-07-09 20:38:11 作者:ScottX
来源:网络 阅读:544

Source code control 一直是软件开发过程中重要的环节,从最初的纯文件备份,到使用工具进行管理。Source code control 工具的作用也不仅仅只是单纯的对同一个版本进行管理了。从目前主流的source code control工具当中不难发现里面的Branch, tag等功能的应用场景越来越多,特别是现在多数企业使用的敏捷编程,结合branch和tag等功能真的能够很好的做到多版本开发,快速迭代。

思考: 没有source code control我们如何快速的基于一份代码同时进行多个功能的并行开发。

回过头来说下本人在行业当中所用到的几款source code control工具。

VSS

从VSS到SVN再到Git 记Git的基本操作

VSS(Visual Source Salf),是一款微软提供的代码管理工具,作为Visual Studio的一员,在早期的开发过程当中确实能够确保代码不被开发人员错误的修改,也解决了异地开发协作的代码共享管理的难点。但是依旧有一些不足,比如:

SVN

从VSS到SVN再到Git 记Git的基本操作

SVN(Subversion),一个开源的source code control system。除开最基本的如VSS提供的代码管理功能外,最大的亮点是提供了分支,且提交内容的级别基于代码行了。也就是说,不用再有独占文件开发的问题了。比如,一个实现接口的代码文件可以由多个开发人员同时修改。谁先做完谁可以先进行提交,不会等到必须所有的人做完后再进行合并。对于不能使用VSS的工程师来说,SVN的出现完全是一个福音,直接从CVS跳到了这么强大的工具上。
总结一下,SVN的优劣如下:

Git

从VSS到SVN再到Git 记Git的基本操作

随着开源运动的流行(Liunx开发人员的功劳),Git也就这么流行起来的。说是在随着开源运动的流行而流行起Git的呢?这归功于Git的分布式这一特性。试想,如果全世界所有的Liunx爱好者都在几台机器上进行开发和提交,这酸爽不敢想象。抑或是主服务器崩溃了,那么其他的开发人员也只有泪奔。
Git的牛逼之处在于以下:

从VSS到SVN再到Git 记Git的基本操作

git-model@2x.png

A successful Git branching model

如何使用Git

  1. 安装

  2. $ Brew install git

  3. 创建仓库

  4. $ git init

  5. 文件操作

    有了仓库后就可以对文件进行 add , commit, push 和pull等操作了。

TablesAre
git add添加至暂存区
git add–interactive交互式添加
git apply应用补丁
git am应用邮件格式补丁
git annotate同义词,等同于 git blame
git archive文件归档打包
git bisect二分查找
git blame文件逐行追溯
git branch分支管理
git cat-file版本库对象研究工具
git checkout检出到工作区、切换或创建分支
git cherry-pick提交拣选
git citool图形化提交,相当于 git gui 命令
git clean清除工作区未跟踪文件
git clone克隆版本库
git commit提交
git config查询和修改配置
git describe通过里程碑直观地显示提交ID
git diff差异比较
git difftool调用图形化差异比较工具
git fetch获取远程版本库的提交
git format-patch创建邮件格式的补丁文件。参见 git am 命令
git grep文件内容搜索定位工具
git gui基于Tcl/Tk的图形化工具,侧重提交等操作
git help帮助
git init版本库初始化
git init-db*同义词,等同于 git init
git log显示提交日志
git merge分支合并
git mergetool图形化冲突解决
git mv重命名
git pull拉回远程版本库的提交
git push推送至远程版本库
git rebase分支变基
git rebase–interactive交互式分支变基
git reflog分支等引用变更记录管理
git remote远程版本库管理
git repo-config*同义词,等同于 git config
git reset重置改变分支“游标”指向
git rev-parse将各种引用表示法转换为哈希值等
git revert反转提交
git rm删除文件
git show显示各种类型的对象
git stage*同义词,等同于 git add
git stash保存和恢复进度
git status显示工作区文件状态
git tag里程碑管理

.
.

Best practice

从VSS到SVN再到Git 记Git的基本操作

建议使用github进行上手实验。使用邮箱注册一次Git hub后即可在Github上创建自己的Repository.

从VSS到SVN再到Git 记Git的基本操作

2.png

创建完成后,我们会得到一个Repository的地址。有了这个地址我们就可以进行Git的练习了。

从VSS到SVN再到Git 记Git的基本操作

3.png

从VSS到SVN再到Git 记Git的基本操作

5.png

  echo "Hello Scott" -> "Hello"   //写了一个文件到Hello
  git add Hello // 将Hello文件添加到暂存区。(Index)
  git commit -m "this is my first file" // 提交到本地仓库
  git push  //推送本地仓库到远程仓库

从VSS到SVN再到Git 记Git的基本操作

6.png

以上,文件就被推送到了远程仓库。其他工程师如果执行Pull操作的话即可把变动的文件拉到本地。

从VSS到SVN再到Git 记Git的基本操作

7.png

从VSS到SVN再到Git 记Git的基本操作

A5B85BFD-764E-468F-81C4-0B727BA70428.png

从VSS到SVN再到Git 记Git的基本操作

4EB9EB75-2FF9-4363-AD78-9E13D1415EA8.png

只需要git pull一次即可。 (注:git pull 会自动merge,但是通常情况下自动merge效果不会太好。比如A和B 都在修改function A (){} )
冲突长这模样。

从VSS到SVN再到Git 记Git的基本操作

10.png

一般手动解决冲突后,重新添加,提交,push即可。

从VSS到SVN再到Git 记Git的基本操作

11.png

如上描述,手动合并冲突比较麻烦。建议使用工具进行git 的操作,现在一般的工具都提供了分支管理,合并等功能。
推荐 SourceTree

分支的管理

在很多时候会遇到同时需要开发多个功能,开发任务将会交给多个工程师进行开发,这个时候在Git上的实践为-->创建多个分支。 N个工程师从Master或Dev分支进行分支创建。

git checkout -b NewFeature   // 分支建好后,会直接切换到该分支。git push --set-upstream origin NewFeature //与远程分支关联

完成开发后,需要合并到Master 或Dev 分支。

  git merge origin/NewFeature  // 将远程分支NewFeature与当前分支合并。

从VSS到SVN再到Git 记Git的基本操作

12.png

写在最后

以上从source code control扩散到Git的使用,仅仅只是抛砖引玉。欢迎大家多多指教。


推荐阅读:
  1. Git基础入门(三)Git基本操作
  2. SVN的配置记录

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

windows control 软件开发

上一篇:如何从ToughRADIUS V1版本迁移数据到 ToughRADIUS V2版本

下一篇:EditText之自定义边框颜色

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》