2019独角兽企业重金招聘Python工程师标准>>>

Bazaar是一款开源的分布式版本控制工具。分布式版本控制(Distributed Version Control System)是一种不需要中心服务器管理文件版本的方法,它也可以使用中心服务器。对版本的更改可以合并到使用分布式版本控制系统的其他用户的版本里,实现灵活的控制。另外,它大多数操作在客户机本地进行,不需要网络连接,因此比集中式服务器操作起来快得多。主流的分布式版本控制工具有Git, Bazaar, Mercurial等。集中式版本控制工具有SVN, CVS, VSS等。

Bazaar简称Bzr, 是完全用Python开发,因此需要Python支持。下载链接 wiki.bazaar.canonical.com/Download

1. 更改更新源

试过很多更新源,网易的速度和稳定性非常不错。

首先备份更新源表:

sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup

然后打开编辑

sudo vim /etc/apt/sources.list

添加如下行,将其他注释掉

deb http://mirrors.163.com/ubuntu/ natty main universe restricted multiverse
deb-src http://mirrors.163.com/ubuntu/ natty main universe restricted multiverse
deb http://mirrors.163.com/ubuntu/ natty-security universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-security universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ natty-updates universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ natty-proposed universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-proposed universe main multiverse restricted
deb http://mirrors.163.com/ubuntu/ natty-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-backports universe main multiverse restricted
deb-src http://mirrors.163.com/ubuntu/ natty-updates universe main multiverse restricted

然后运行刷新列表(一定要刷新)

sudo apt-get update

2.检查需要的软件包

(1). 检查Python版本

SHELL>python -v

...Python 2.6.6...

(2). 检查需要的Python模块

SHELL>python -c "import Crypto" #没有提示任何信息,则该模块被成功加载

SHELL>python -c "import paramiko" #提示找不到

SHELL>python -c "import cElementTree" #提示找不到

SHELL>python -c "import xml.etree.cElementTree" #该模块被成功加载

paramiko是一个实现SSH2协议安全(认证和加密)连接到远程计算机的开源模块,在http://www.python.org/pypi/paramiko下载。

cElementTree模块是ElementTree API的C实现。ElementTree是Python的XML库。下载链接effbot.org/downloads/#celementtree。

下载并解压后进入目录下,执行python安装脚本

SHELL>python setup.py install

#如果提示python.h找不到导致gcc不能编译,说明python-dev没有安装。

在Ubuntu10.10下以此安装如下包:

libssl0.9.8_0.9.8o-4_i386.deb

http://linux.cdpa.nsysu.edu.tw/debian/pool/main/o/openssl/libssl0.9.8_0.9.8o-4_i386.deb

libssl-dev_0.9.8o-4_i386.deb

http://ftp.debian.org/debian/pool/main/o/openssl/libssl-dev_0.9.8o-4_i386.deb

python2.6-dev_2.6.6-5ubuntu1_i386.deb

http://ftp.isu.edu.tw/pub/Linux/Ubuntu/ubuntu/pool/main/p/python2.6/libpython2.6_2.6.6-5ubuntu1_i386.deb

后再次执行

SHELL>sudo python setup.py install

编译并安装成功。

(3). 检查SSH工具是否安装。(通过Launchpad.net发布时需要SSH连接支持)

SHELL>which ssh

SHELL>sudo apt-get install openssh-client

3. 安装bazaar

SHELL>sudo apt-get install bzr

等待安装结束

4. 基本使用

(1). 注册用户信息

SHELL>bzr whoami "Luffy <xiaoluffy@gmail.com>"

这时候如下信息写入配置文件~/.bazaar/bazaar.conf中

[DEFAULT]

email = Luffy <xiaoluffy@gmail.com>

可以输入查看当前用户信息

SHELL>bzr whoami

(2).测试bazaar

SHELL>mkdir bazaar_home

SHELL>cd bazaar_home

SHELL>mkdir dir_test #建立测试文件夹

SHELL>touch w1.txt w2.txt dir_test/w3.txt #生成几个测试文件

SHELL>bzr init #初始化项目

SHELL>bzr add #将当前的文件夹的文件添加到项目中

SHELL>bzr commit -m "initial import" #提交项目到项目闻之中,添加一些注释。

#不用不加-m "comment" 则会出现一个编辑器来进行添加

然后使用vi编辑更改w1.txt的内容,比如添加this is someting added!这句话

SHELL>bzr diff #查看项目发生变化

=== modified file 'w1.txt'

--- w1.txt 2011-01-02 06:09:21 +0000

+++ w1.txt 2011-01-02 06:11:04 +0000

@@ -0,0 +1,1 @@

+this is someting added!

#可以再次提交

SHELL>bzr commit -m "Added first line of w1.txt"

Committing to: /home/luffy/Documents/bazaar_home/

modified w1.txt

Committed revision 2.

(3).查看版本日志

SHELL>bzr log

------------------------------------------------------------

revno: 2

committer: Luffy <xiaoluffy@gmail.com>

branch nick: bazaar_home

timestamp: Sun 2011-01-02 14:12:28 +0800

message:

Added first line of w1.txt

------------------------------------------------------------

revno: 1

committer: Luffy <xiaoluffy@gmail.com>

branch nick: bazaar_home

timestamp: Sun 2011-01-02 14:09:21 +0800

message:

first committed

(4). 查询历史版本

SHELL>bzr log -r 1 #查询1号版本

SHELL>bzr log -r 1.. #查询1号到最新的版本

SHELL>bzr log -r ..4 #查询最早的到现在的版本

SHELL>bzr log -r 1..4 #查询1号到4号版本

查看某个文件的在哪个版本更改过

SHELL>bzr log filename

(5). 访问历史

SHELL>bzr cat -r X file > file_in_Ver_x

(6). 管理文件

SHELL>bzr add [文件名或目录名]

SHELL>bzr remove -v [文件名或目录名]

SHELL>bzr status #查询最近更改的状态

(7). 回滚到上次提交时的所有操作

SHELL>bzr revert

SHELL>bzr revert foo.py

(8).回滚一次commit

SHELL>bzr uncommit

SHELL>bzr uncommit -r -3 #回滚到3号版本

转载于:https://my.oschina.net/mingdegewu/blog/188046

在Ubuntu下安装Bazaar相关推荐

  1. Ubuntu 下安装thttpd Web服务器

    不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...

  2. Ubuntu下安装Apache+PHP+Mysql

    Ubuntu下安装 apache+php+mysql文本服务器! ------------------------------------------------------------------- ...

  3. ubuntu下安装ftp服务器

    ubuntu下安装ftp服务器 Ftp服务器是使用以vsftp为例. 1. 安装     $sudo aptitude install vsftpd     $ps aux | grep 'ftp' ...

  4. linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp

    在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...

  5. ubuntu下安装windows虚拟机

    ubuntu下安装win7虚拟机总结 ubuntu16.04 虚拟机 安装win7/win10 http://WIN10:你不能访问此共享文件夹,解决方法 VirtualBox虚拟机剪贴板共享

  6. Linux :debian(ubuntu)下安装和使用haskell

    文章目录 Linux :debian(ubuntu)下安装haskell 安装 使用 Linux :debian(ubuntu)下安装haskell 安装 直接使用apt进行安装: sudo apt- ...

  7. Linux: debian/ubuntu下安装和使用Java 11

    Linux: debian/ubuntu下安装和使用Java 11 只需6行命令: su - echo "deb http://ppa.launchpad.net/linuxuprising ...

  8. Linux: debian/ubuntu下安装和使用Java 8

    Linux: debian/ubuntu下安装和使用Java 8 7行命令解决问题: su - echo "deb http://ppa.launchpad.net/webupd8team/ ...

  9. Linux: debian/ubuntu下安装Neo4j

    文章目录 Linux: debian/ubuntu下安装Neo4j Linux: debian/ubuntu下安装Neo4j Neo4j的官方仓库地址:neo4j/neo4j: Graphs for ...

最新文章

  1. java中 set集合_第8篇 Java中的集合(Set)
  2. java第六次实验——多线程
  3. 删除git所有历史记录 仅保留当前文件
  4. 【转】PHP的执行原理/执行流程
  5. ASP.NET:插件化机制
  6. 特殊类型窗体制作: 制作字形窗体
  7. JAVA---MYSQL 基本知识点 第一部分
  8. 1.程序员的自我修养---简介
  9. 秋叶一键重装系统连接服务器失败,秋叶一键重装系统win7系统安装和使用DAEMONToolsLite的方法【图文教程】...
  10. 短视频技术与市场动态
  11. ES Transport Client学习
  12. vscode终端显示中文字符乱码解决
  13. ASCII码对照表--符号/十进制/十六进制
  14. R语言笔记:机器学习【K近邻】
  15. 裸金属服务器开通原理
  16. [概念]像素,分辨率
  17. React / Vue 前后端分离项目实现微信分享教程
  18. 【python办公自动化】如何在Excel表格里面插入对象
  19. 潮玩盲盒app开发猜客盲盒app源码 盲盒商城系统功能分享
  20. 嘀咕网李松聊LBS创业:烧3000万美元是起点

热门文章

  1. C++实现教学信息管理系统
  2. VTK:可视化算法之TubesWithVaryingRadiusAndColors
  3. VTK:可视化之ProgrammableGlyphFilter
  4. VTK:可视化之ScalarBarActorColorSeries
  5. VTK:Utilities之ViewportBorders
  6. VTK:图表之SideBySideGraphs
  7. C++Linear search线性搜索的实现算法(附完整源码)
  8. C++binomial calculate二项式计算的算法(附完整源码)
  9. php 从第几开始截取,php如何实现截取前几个字符
  10. 'gbk' codec can't decode byte 0x80 in position的一个解决办法