本子管理-SVN本地版本管理

0. 引言

   
 使用工具是人与动物的基本不一致,善用工具得以小幅度的提高成效,下跌错误率。在PC软件领域,有广大好用的工具,那几个工具都以软件工程首要的底蕴设备。可是,嵌入式开发,在其代码数量上,很多时候是因为并未那三个司空眼惯的框架和库,所以代码量比较小很多,其它嵌入式的运营载体决定了不恐怕运维大规模的次第,指标文件一般都以kB为单位,纵然带操作系统的嵌入式开发,指标代码也常是MB级别。

   
 这几个成分造成众多嵌入式开发者对代码工具不太尊重,直接手动管理代码,习惯性的变动壹遍copy一个本子,几天下来,要不是文件以日期为单位,每一天一版或然一天有几许个后缀版本,要不是就共同v1,v2,v3后缀备份…
一段时间备份下来,那些东西唯有和谐能够看懂,不过借使放下几天,某天又回头要穷根究底哪个难点时,由于尚未改动记录等原因,变得及其困难,自身也看不懂了。即使公司都有服务器,可是涉及到多个人支付情状下,服务器交由都十一分慎重,一般的是做出三个阶段性成果或许多个模块测试之后才往服务器合并。超越58%岁月都以地面开发,一周往服务器commit一两回。最后导致本机硬盘快速消耗,代码照旧很难追述到有个别节点,尤其为局地验证和品味工作而新开的本子,那几个尝试其实很有价值,不过最后被多量备份文件淹没了,当硬盘快爆了的时候往往都以把具备备份全部删掉,项目赶得急,根本无暇顾及这些有意义的商量和备份。

   
其实那几个都可以在本机用版本管理软件很好的解决,本文就说说单机版的本子管理。做PC软件的能够绕过,服务器仓库不受地方限定,机器故障可能率基本为零,比单机强多了,做嵌入式的情人,或入行不深的学员和爱好者能够看看本文,究竟经验之谈。

唠叨话

1.SVN本地版本管理

1.1 下载安装Tortoise SVN

单机版本管理,Tortoise
SVN就足足了,就算多个人同盟项目,当然就直接运用Visual SVN
了,首要正是安插Visual SVN
Server,都以傻瓜式的装置,不再赘述。(本文只谈谈Windows平台)

1.2  代码管理基础操作

A. 新建代码仓库

壹 、新建文件夹,目录和文件夹名称最佳都用英文;

二 、打开文件夹,在空白处按下右键;

③ 、在弹出的菜单中采用“Tortoise SVN – Create repository here”;

④ 、弹出对话框,提示创制成功,并机关在文书夹中创制了目录结构;

五 、在能源文件夹内,右键“Tortoise SVN – Repo
browser”,然后复制代码仓库地址U安德拉L,其实就是本地的公文夹地址加了file://。

 图片 1

B.  导入项目(把项目到场代码库)

壹 、打开已部分项目文件夹,在空白处按下鼠标右键;

二 、在弹出的菜单中采纳“TortoiseSVN – Import”;

叁 、选取导入路径file:///F:/repository,填写备注音信,点击“OK”开头导入;

④ 、导入达成后会弹出提示,能够查阅导入的公文,点击“OK”,完毕导入。

 图片 2

C. 建立办事目录(检出)

壹 、新建筑工程作目录文件夹,在空白处按下鼠标右键;

贰 、在弹出的菜单中选用“SVN Checkout…”;

叁 、在弹出的对话框中甄选库目录、工作目录,点击“OK”开始检出;

肆 、弹出详细新闻对话框,导出完成后,点击“OK”。

能够看来工作目录中多出了版本管理库中的文件,那么些文件正是有版本控制的,对那几个文件的改动能够保存到库,也得以从Curry苏醒旧版本的文书。

 图片 3

 图片 4

相似的,也足以在别的地点点击右键,在弹出的菜单中接纳“SVN
Checkout…”,然后修改检出的文本的保存路径。

 图片 5

D. 更新工作目录

1.对于单机版本管理以来,那些难题着力得以忽略,除非你在好多少个地点做了check
out然后交给了改动。然后某一天你又到了你常用的目录下工作,然后提交修改,可是此时你用的本子现已不是新型的了。

2.办事前更新文件是1个好习惯,平常在您对工作目录实行改动前,为保障你的文件是时髦的,必要展开立异操作;

  1. 在干活目录空白处点击鼠标右键,选用“SVN Update”;

4.
会弹出对话框初步更新,并体现更新了哪些内容,库版本是稍稍。下面就是自个儿在此外2个目录提交了本子,然后到workSpace目录下,又交给三次update。

 图片 6

E.提交工作目录(Commit、check in)

一 、本地目录做了改动,然后须求提交到代码库;

二 、在做事目录内的空白点或然目录上点击鼠标右键,采纳“SVN Commit”;

③ 、会弹出对话框,能够输入备注音讯,方便现在翻看历史记录。

   
显示将要付出哪些文件,是怎么样类型变更,点击“OK”伊始交付,比如下图是本身在文件夹内加了add2.txt文本,然后交由呈现add类型改动;

四 、弹出对话框显示提交进程,达成后点击“OK”完结。

 图片 7

若不是新加文书,而是修改了已有文件然后交到,会呈现文件修改。

 图片 8

F.版本回滚

      难题来了,最前方的引言说的,怎样退回某1个版本。

   
 1.为了试验特别明显。我们先付给3次,做个记录。提交时候的log写为:测试版本回滚v7.

 图片 9

     2.改动文件,提交首回,log为test changed 1。

 图片 10

 图片 11

   3. 修改文件,提交第②次。

 图片 12

  4. 版本回滚到v7.

   近年来版本9,能够回到版本7。依照版本回滚.

 图片 13

 图片 14

本来,一般的都以依照提交时候的笺注回滚。找到某一本子,然后右键选取Update
item to revision 或者直接Check Out,两者效果是千篇一律的。

 图片 15

 

G. 怎么样新加四个文本

一般来说,新建了五个文本。

 图片 16

接下来新加文件添加到代码仓库,告诉SVN,那五个兄弟也支持照看着。

右键“TortoiseSVN –
add”,弹出对话框采用要抬高的文书。若直接在文件上单击右键添加,那么那四个公文少禽平素抬高到版本库,不会提交提醒。

 图片 17

添加成功之后会铁锈色提示,表示和版本库差异,没有一块。提交之后,卡其色惊讶号会变成暗绿钩的号子。

付出之后,那四个文件就在代码仓库有了二个备份,下次check
out时候就会有那七个公文。

无差别于道理,要删减文件也必须commit,让SVN知道不再须求管住这几个文件,下次check
out时候他才不会现出那一个文件。

唯独,要是依照版本来找,还是能在日前版本找到被剔除的文书的,那就是本子管理软件的优势。

 图片 18

若要打消刚才添加的文书,直接revert 即可,和充分的逻辑刚好相反。

图片 19

有关乌克兰语噢屁事的知识点,仅提供精华汇总,具体知识点细节,参考教程网址,如需帮忙,请留言。 

 

《DevOps服务手册(马努al)》

《IT财富目的化》
壹 、设施和装备(Infrastructure、Device)
贰 、系统和虚拟化(System、Virtualization)
③ 、存款和储蓄和数据库(Storage、Database)
四 、容器和中间件(Container、Middleware)
伍 、网络和平安(Network、Security)

《设施(Infrastructure)》
UPS/EPS、ATS/STS、供配电、发电机、照明、电线电缆、插座开关、中央空调、新风机、水力发电气仪表、电流电压仪器、温湿仪器、谷雾传感器、漏水检查和测试仪、防雷器、机柜、电话机、对讲机、录像监控、录像头、门禁卡锁、安全防备消防。

《设备(Device)》
笔记本、台式机、平板、移动机、掌上机、一体机、工控机、影视机。
服务器Server、服务群ServerCluster、工作机Worker、工作站WorkStation。

处理器、主板、内存、磁盘、机柜、机箱、电源、散热器、风扇、显卡、声卡、网卡、软驱、光驱;
键盘、鼠标、麦克风、摄像头、触控板、手写板、操作杆、游戏杆、扫描仪、阅读机;触摸屏、刻录机;
显示器、投影机、打印机、绘图仪、扬声器、耳机;触摸屏、刻录机;
CMOS存储器,ROM只读存款和储蓄器,RAM随机存款和储蓄器,磁盘,软盘,硬盘,光盘,U盘,移动盘,卡;
调制解调器、数字用户线路、收发器、转换器、中继器、桥接器、集线器、沟通机、路由器、适配器、网关、网闸、网卡、防火墙、负载均衡器、流量控制。

《系统(System)》
Windows系统,Linux系统,Unix系统,Mac系统。
PXE(preboot execute environment,预运转执行环境)
Windows:WDS(Windows Deployment Services)
Linux:Cobbler、Spacewalk、OpenQRM(Qlusters
Company)、FAI(Debian+PXE)、Kickstart(PXE+DHCP+TFTP)

环境(Environment)
System、Virtualization、Mirror、Container、Application、Middleware。Java、Net、PHP、Python、Ruby、Go、NodeJS。
软件开发环境(Software Development Environment,SDE)
Donet Framework、Java Development Kit(JDK)、Java Runtime
Environment(JDE)。
合龙开发条件(Integrated Development Environment,IDE)
Visual Studio、Eclipse。
脚本(Scripting)
Scripting:Batch|Shell、Perl、Python|Jython、Ruby|JRuby、Lua、PHP、JavaScript。
Windows:Batch(Dos-Cmd)
Linux|Unix:Shell(Sed,Awk;Grep;)

《存储(Storage)》
文件系统(File System,FS)
HDFS(Hadoop),GFS(Google),Lustre,FastDFS(Alibaba),TFS(Taobao);MogileFS,MooseFS;Ceph,FreeNAS,NFS,pNFS,AFS(AndrewFS),OpenAFS;
分布式文件系统(Distributed File System,DFS)
Lustre,Ceph,HadoopFS,GoogleFS,TaobaoFS,FastDFS,MogileFS,MooseFS,GlusterFS,GridFS(MongoDB);

储存系统(Storage System,SS)
Block块:DAS(Direct Attached Storage,直连式存款和储蓄)、SAN(Storage Area
Network,存款和储蓄区域互连网)
File文件:NFS(Network File System,互联网文件系统)、NAS(Network
Attached Storage,互联网专属存款和储蓄)
Object对象:KV(Cache,缓存)
分布式存款和储蓄系统(Distributed Storage System,DSS)
Redis,Memcache,Couchbase;Memcachedb(Sina),Tera(Baidu),Tair(Taobao),LevelDB,ForestDB,SequoiaDB,LiteDB;

《数据库(Database)》
SQL:Oracle,MySql,SQLServer,PostgreSql,DB2,SQLite,Access,Sybase,Teradata;
NoSQL:Mongodb,Couchdb(Apache);Cassandra,HBase,Riak;Neo4j;MemSQL,eXtremeDB;
数量管理服务(Data Management Service,DMS),数据传输服务(Data
Transmission Service,DTS)。
时序数据库:InfluxDB、Odyssey君越Dtool、Graphite、OpenTsdb(Hbase)、Kairosdb(卡Sandra)、TimeScaleDB(PostgreSQL)、Beringei(Facebook)。
CMDB(配置管理数据库) CMDBuild、Kettle、MySQL Workbench、Mongodb
Studio、Redis Studio。
DRBD(分布式复制块设备) DRBD + MySQL + Corosync。

《容器(Container)》
引擎Engine:Docker、罗克et/HavalKT、OpenVZ/Odin、LXC(软件容器)、LXD(系统容器)、Solaris
Containers。
商家Provider:AmazonAWS、GoogleGAE、Azure、Bluemix、Stackdock、Tutum、Joyent、Jelastic、GiantSwarm。
编写编排:Docker Swarm、谷歌(Google)Kubernetes、Mesos(Marathon、Chronos)、CoreOS Fleet、RancherOS
Rancher、Weave Run。
操作系统:CoreOS、RancherOS、Atomic(RedHat)、Photon(VMware)。
仓库Repository:Docker Registry、Docker Hub、Quay.io、CoreOS Enterprise
Registry、VMware Habor Registry。
监控Monitoring:Docker Stats、cAdvisor、Datadog Docker、NewRelic
Docker、Scout、Sensu、Sysdig、AppFormix。
集群网络:Weave(WeaveNet、WeaveRun、WeaveScope)、Kubernetes、Flannel、Pipework、SocketPlane。
存款和储蓄器:单机VPS、多机(块存款和储蓄SAN、文件存款和储蓄NAS、对象存款和储蓄OSS)
存款和储蓄方案:Portworx(PX-Enterprise)、ClusterHQ(Flocker(Swarm-Kubernets-Mesosphere))

《中间件(Middleware)》
DNS:Bind、DNSPod、PowerDNS、MyDNS。
Proxy:Nginx、Squid、Varnish、Privoxy、Tinyproxy。
Web:IIS、Apache、Lighttpd、Nginx。
Java:Tomcat|Jetty(WebServer+Servlet)、JBoss(Servlet+EJB)、Resin(Caucho)、GlassFish(J2EE)、Weblogic(Oracle)、Websphere(IBM)。
Python:Python WSGI Server (Meinheld + Gunicorn + Flask)。
FTP:FileZilla、Serv-U、VsFtpd、Cyberduck。
Mail:Postfix、Dovecot、DBMail。
Media:Red5、Live555、EasyDarwin。

集群:Hadoop。分布式Distributed、集中式Centralized。
缓存:Redis、Memcache。单机、双机、多机。浏览器、网关、代理、页面、内存、硬盘、数据库。
日志:Splunk、Sumo
Logic、LogStash、GrayLog、Loggly、PaperTrails、Fluentd。
队列:JMS、MsMQ、Kafka、RabbitMQ、ZeroMQ、ActiveMQ、RocketMQ、DotNetMQ。

资源管理框架:Yanr(Apache),Borg(谷歌(Google)),Corona(Instagram),Mesos(Twitter),Disconf(Baidu),Diamond(Alibaba(Alibaba))。
数量计算:MapReduce(离线-磁盘),斯Parker(离线-内部存款和储蓄器),Storm(实时-非流式)。
数量查询:Hive,Shark(斯Parker),Impala(谷歌 Dremel、Apache
Drill),Stinger(Hortonworks Tez、谷歌 Pregel),Presto(FaceBook)。
数据业务:Sharding-JDBC、Atlas、MyCAT、Druid、ProxySQL。
多少日志:ELK、EFK、Flume、Scribe。

《网络(Network)》
SDN网络、DNS域名解析、CDN内容加快、VPN网关、NAT网关。
应用层:DHCP、DNS、HTTP、FTP、TELNET、SSH、SNMP、SMTP、POP3、IMAP4、SMB、SOAP、RPC。
传输层:TCP、UDP、DCCP、SCTP、RSVP。
网络层:IP、IPX、IPsec、ICMP、IGMP、
链接层:ARP、NDP、PPP、MAC、ATM、DSL、STP。

《安全(Security)》
DoS/DDoS攻击、CC攻击、SQL注入、ARP欺骗、XSS跨站、WebShell上传、SSRF攻击、HTTP请求、Web漏洞。

《IT管理流程化》
1、规划、设计(Planning、Design)
2、开发、部署、管理(Development、Deployment、Management)
3、运维(Maintenance、Repair、Operations)
4、监控、日志(Monitoring、Logging)
5、培训、手册(Training、Manual)

《团队合作工具》
文档:Google Docs、Office 365、Quip、Shimo、Evernote。
项目:Teambition、Worktile、Tower、Trello、Asana、Jira。
沟通:Slack、Hipchat、Bearychat、零信。
办公:Yammer、Eteams、Tita、钉钉、明道、企明岛、今目标。

《项目工具》
项目:Jira(JavaJDK)、Redmine(RubyRails)。
知识:PMBok。

版本控制(例如:分布式GIT、集中式SVN、分布式HG、集中式TFS。)
本地式:SCCS(1972)、PVCS(1985)。
客户机-服务器式:CVS(1990)、IBM-ClearCase(一九九四)、Microsoft-VSS(一九九四)、Perforce(一九九三)、SVN(两千)。
分布式:Git(2005)、Mercurial(2005)。

代码托管(例如:GitHub、Bitbucket、GitLab、Coding。)
Git(Windows)GitHub.Com
Mercurial(Hg)(Windows、Linux、Mac)Bitbucket.Org
Darcs (Darcs AdvancedRevision Control System)
Team Foundation Server (Tfs)
Bazaar (Bzr)

《编制程序工具》
Eclipse、Visual Studio。

《品质工具》
模型:McCall、Boehm、Furps、Dromey、ISO。
工具:SonarQube。

《创设筑工程具》
System:CMake。
NET:NAnt、MsBuild。
JavaJVM:Ant、Maven、Gradle、Make(GccMake、GnuMake)。
JavasCript:Gulp、Grunt。
Lua:XMake。
Python:Buildout。
iOS&Android:Fastlane。

《测试工具》
种类(手动和机动),方法(黑盒、白盒、灰盒),类型(作用、质量、安全),阶段(单元、集成)。
缺陷:TestLink、Mantis;Bugzilla、BugFree。
功能:Selenium、QTP、MaxQ、Watir(Ruby)、WebInject(Perl)。
性能:LoadRunner、JMeter。
安全:AppScan、Nmap。
移动:Appium、Monkey。

《虚拟化学工业具》
OpenStack、OpenNebula、OpenQRM、XenServer(Citrix)、CloudStack(Ctrix)、ConVirt(KVM)、Eucalyptus(HP)、OracleVM(Oracle)。

《布署布署工具》
Linux:Python(SaltStack、Ansible)。
Windows:Ruby(Puppet、Chef)。
Juju(Ubuntu)、Func(Fedora)、ControlTier、CFEngine。

《虚拟交流工具》
Open vSwitch(OVS虚拟交流机)
OpenFlow网络由OpenFlowswitch、FlowVisor、Controller组成,完成SDN软件自定义网络。

《集群调度工具》
http://geek.csdn.net/news/detail/74234
中央式(Monolithic)Google Borg、Google Kubernetes、Docker Swarm。Aliyun
Fuxi、BaiduCloud Matrix、TencentCloud Torca。
双层式(Two-level)Apache Mesos、Apache Hadoop Yarn。
共享状态式(Shared-state)谷歌 Omega、Microsoft Apollo、Hashicorp
Nomad。

《持续工具》
不停集成(Continuous Integration,CI)、持续交付(Continuous
Delivery,CD)、持续安排Continuous Deployment。
Jenkins(MIT)、Buildbot(GPL)、Eclipse Hudson(MIT)、ThoughtWorks
Go|GoCD(Apache)、Strider(BSD)。
CircleCI、TravisCI、Buildkite、Jetbrains Teamcity、Atlassian
Bamboo、Fabric8、Codeship。

《监察和控制工具》
监察和控制平台:设备监察、系统监察和控制、互联网监察和控制、业务监察和控制、安全监督。
监控(Monitoring):New
Relic、Nagios、Icinga、Ganglia、Cacti、Pingdom。
警告(Alerting):PagerDuty。
趋势(Trending):Graphite。

Nagios(中常见) Nagios + Cacti
Zabbix(中型小型规模) Zabbix + Puppet或Saltstack
Ganglia(网络集群)、Smokeping(互联网质量)、Cacti(网络流量)、Piwik(互联网流量分析)
OpenNMS(网络管理)、Hyperic HQ(网络管理)、Zenoss Core(网络管理)

TICK技术栈(Telegraf数据收集,InfluxDB数据存款和储蓄,Chronograf数据突显,Kapacitor数据处理)
募集数据(Telegraf|Collectd|Cadvisor|Heapster|Jmeter|JMXtrans|Metrics)、存款和储蓄数据(InfluxDB)、呈现数据(Grafana)

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注