如何看待源代码

源代码是公司的重要资产

对应软件公司来说,源代码相当于固定资产>人才

所以源代码管理对于公司来说是最重要的事物之一

一、管理源代码的工具

SVN:集中式的源代码管理工具,通常必须连到公司的服务器上才能正常工作

(提交代码、查看代码的历史记录、查看代码分支)

在公司中开发项目时,每天至少提交一次代码

第二天上班时,写代码之前,先获取最新源代码

如果出差到外地,则无法直接从公司内部的SVN服务器上获取代码、提交等

(此时,VPN可能是一个方案)

总之必须连到SVN服务器上才能干活

GIT:分布式的源代码管理工具,没有中心服务器的概念。

每个开发人员都可以获得完整的代码库。即使不连网,也能进行几乎所有的操作。

使用GIt时,因为代码库在本地,所有可以很快地提交,不会受网速影响。

提交的频率就可大大提高----------代码的历史记录更加详细(当需要查看或恢复到某一个时间点时,会更加准确灵活)

团队合作开发

源代码管理工具=>都能解决团队合作开发的问题。

GIT/SVN 都是网络程序,都是多用户的系统

版本管理

在开发过程中 ,会同时并存同一个产品的多个“版本”

(下一代产品)开发版(分支)

新特性试验版(分支)

Bug修复版(分支)

正式版 (分支)

不同的版本有自己的历史记录、有自己的研发团队(多人合作)

开源项目

使用Git可以管理或参与开源项目。Git本身就是为开源项目设计的。

互联网上很多源代码管理库(云计算和源代码管理的结合)

趋势:源代码管理将成为一种公共服务

软件开发能力

通过CMMI级别可以判断一个公司的软件开发能力。

CMMI能力成熟度模型,一共定义了五个级别

级别越高,表明软件开发能力越强,越成熟。

5级很难达到

3级以上意味着公司的管理非常规范

质量标准  ISO  2000
国际标准  规定了软件质量形成和保证体系

无论是CMMI还是ISO对于源代码管理都由明确要求-----软件公司必须使用专业的工具管理源代码资产。

二、GIT命令

1.git init       初始化一个git仓库,会在当前文件夹中生成一个.git隐藏文件夹

在这个.git
隐藏文件夹中,保存是版本库的所有数据。

2.git add          文件名/.
将已修改的文件放入暂存区

3.git commit -m 消息   将暂存区的文件提交到代码库

4.git log       查看提交记录
, ------ oneline
查看简化的记录(显示在一行中)

5.git status     查看工作区(当前文件夹)的状态

(哪些文件被修改/哪些文件被删除/哪些文件没有进版本库)

6.git reset --hard 提交ID的前几个字母

可以跳转到某一个历史记录

所有的文件都很恢复到那时的状态

配置用户邮箱

7.git  reflog       查看所有commit和reset的记录

提交过程

工作区-->
暂存区-->分支(某个)->push-->远程Git库

远程Git库不是必须的!

暂存区存在的目的是可以挑选一部分文件提交,而不是将整个工作区全部提交

管理源代码的工具SVN与GIT的更多相关文章

  1. 代码管理(四)SVN和Git对比

    在日常运维工作中,经常会用到版本控制系统,目前用到最广泛的版本控制器就是SVN和Git,那么这两者之间有什么不同之处呢?SVN(Subversion)是集中式管理的版本控制器,而Git是分布式管理的版 ...

  2. 版本控制工具--svn和git的使用(一) -----版本控制的好处以及分类

    版本控制工具 版本控制VCS(Version Control Systems)是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.这个系统可以自动帮我们备份文件的每一次更改,并且可以 ...

  3. 版本控制工具--svn和git的使用(三) -----git的使用(2)

    远程仓库github是git所用的远程仓库,免费的也有私用的.github的账号注册,----省略.创建ssh key:$ ssh-keygen -t rsa -c 'github的账号'查看各个系统 ...

  4. 版本控制工具--svn和git的使用(二) -----SVN的操作

    SVN的使用 开头: 对于svn的详解,我不是很熟,只是用过svn的客户端,没使用过服务端,在这里我只是简单说一下在svn的客户端怎么拉取代码,提交代码和修改冲突等等.svn的客户端我在Mac中用的s ...

  5. 版本控制工具--svn和git的使用(三) -----git的使用(1)

    安装 git官网就有git各个系统的安装包,可以根据自己系统安装相应的安装包.window的git安装包 依据国内网速原因,将安装放到网盘里,链接: https://pan.baidu.com/s/1 ...

  6. [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)

    [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...

  7. SVN和Git的功能和区别,尚学堂SVN和Git学习视频资料免费下载

    对于软件开发人员来说,版本控制系统再熟悉不过了,所谓版本控制系统就是软件项目开发过程中用于储存开发人员所写代码所有修订版本的软件.目前常见的版本控制系统分为集中式版本控制系统(SVN)和分布式版本控制 ...

  8. iOS核心笔记—源代码管理工具-SVN

    源代码管理工具-SVN 一. 源代码管理工具概述 1. 源代码管理工具的作用? > 能追踪一个项目从诞生一直到定案的过程 > 记录一个项目的所有内容变化,无限制返回 > 查看特定版本 ...

  9. 好代码是管出来的——使用Git来管理源代码

    软件开发过程中一个重要的产出就是代码,软件的编码过程一般是由一个团队共同完成,它是一个并行活动,为了保证代码在多人开发中能够顺利完成,我们需要使用代码版本控制工具来对代码进行统一存储,并追踪每一份代码 ...

随机推荐

  1. ubuntu下安装自动补全YouCompleteMe

    一.安装预备软件.#vim要带python2.7的支持,curl是下载插件必须用到的软件,还有git apt install vim-nox-py2 curl git #安装python头文件 apt ...

  2. 0x01 译文:Windows桌面应用Win32开发简介

    本节课将简单介绍下使用C++开发Windows桌面应用的一些基础知识 目录: 准备你的开发环境 Windows 代码规范 操作字符串 什么是一个Window? WinMain:程序的入口点 1. 准备 ...

  3. Atitit.spring体系结构大总结

    Atitit.spring体系结构大总结 1. Srping mvc 1 2. Ioc 4 3. ApplicationContext在BeanFactory的基础上构建,区别 4 4. Aop 5 ...

  4. [svc]salt-grains

    用途 1,匹配客户端 2,配置文件里使用 3,资产管理 定义grains方法1: 方法2:

  5. 用React Native编写跨平台APP

    用React Native编写跨平台APP React Native 是一个编写iOS与Android平台实时.原生组件渲染的应用程序的框架.它基于React,Facebook的JavaScript的 ...

  6. zoj 1562 反素数 附上个人对反素数性质的证明

    反素数的定义:对于不论什么正整数,其约数个数记为.比如,假设某个正整数满足:对随意的正整 数.都有,那么称为反素数. 从反素数的定义中能够看出两个性质: (1)一个反素数的全部质因子必定是从2開始的连 ...

  7. PKI/CA

    PKI( Public Key Infrastructure )指的是公钥基础设施. CA ( Certificate Authority )指的是认证中心. PKI从技术上解决了网络通信安全的种种障 ...

  8. makefile之wildcard函数

    $(wildcard PATTERN) 函数功能: 获取匹配 PATTERN 的所有对象 返回值: 使用空格分割的匹配对象列表 1. 示例1

  9. vue 的调试工具

    转载自:http://www.cnblogs.com/lolDragon/p/6268345.html 安装 1.github下载地址:https://github.com/vuejs/vue-dev ...

  10. error: no matching function for call to 'Ui::GoToCellDialog::setupUi(QDialog*&)' ui.setupUi(dialog); ^

    环境:Qt5.3 参考书是:C++ GUI Qt4编程 问题描述: 按照书中的例子2-2做,编译时遇到的问题,从字面意思看是没有匹配的函数可用,UI::GotoCellDialog类是自动生成的,所以 ...