结束这章之前,还要做一件事:把作品提交到版本控制系统(Version Control System,VCS)。如果你是一名经验丰富的程序员,就无需再听我宣讲版本控制了。如果你刚接触VCS,请相信我,它是必备工具。当项目在几周内无法完成,代码越来越多时,你需要一个工具查看旧版代码、撤销改动、放心地试验新想法,或者只是做个备份。测试驱动开发和版本控制关系紧密,所以我一定要告诉你如何在开发流程中使用版本控制系统。 好的,来做第一次提交。如果现在提交已经晚了,我表示歉意。我们使用Git作为VCS,因为它是最棒的。 我们先把functional_tests.py移到superlists文件夹中。然后执行git init命令,创建仓库: $ lssuperlists functional_tests.py$ mv functional_tests.py superlists/$ cd superlists$ git init .Initialised empty Git repository in /workspace/superlists/.git/ 从此往后,我们会把顶层文件夹superlists作为工作目录。我提供的输入命令,都假定在这个目录中执行。类似地,如果我提到一个文件的路径,也是相对于这个顶层目录而言。因此,superlists/settings.py是指次级文件夹superlists中的settings.py。理解了吗?如果有怀疑,就查找manage.py,你要和这个文件在同一个目录中。 现在,添加想提交的文件——其实所有文件都要提交: $ lsdb.sqlite3 manage.py superlists functional_tests.py db.sqlite3是数据库文件。不想把这个文件纳入版本控制,因此要将其添加到一个特殊的文件.gitignore中,告诉Git将其忽略: $ echo "db.sqlite3" >> .gitignore 接下来,我们可以添加当前文件夹(“.”)中的其他内容了: $ git add .$ git statusOn branch masterInitial commitChanges to be committed: (use "git rm --cached <file>..." to unstage) new file: .gitignore new file: functional_tests.py new file: manage.py new file: superlists/__init__.py new file: superlists/__pycache__/__init__.cpython-34.pyc new file: superlists/__pycache__/settings.cpython-34.pyc new file: superlists/__pycache__/urls.cpython-34.pyc new file: superlists/__pycache__/wsgi.cpython-34.pyc new file: superlists/settings.py new file: superlists/urls.py new file: superlists/wsgi.py 糟糕,添加了很多.pyc文件,这些文件没必要提交。将其从Git中删掉,并添加到.gitignore中: $ git rm -r --cached superlists/__pycache__rm 'superlists/__pycache__/__init__.cpython-34.pyc'rm 'superlists/__pycache__/settings.cpython-34.pyc'rm 'superlists/__pycache__/urls.cpython-34.pyc'rm 'superlists/__pycache__/wsgi.cpython-34.pyc'$ echo "__pycache__" >> .gitignore$ echo "*.pyc" >> .gitignore 现在,来看一下进展到哪里了(你会看到,我使用git status的次数太多了,所以经常会使用别名git st。我不会告诉你怎么做,你要自己探索Git别名的秘密!): $ git statusOn branch masterInitial commitChanges to be committed: (use "git rm --cached <file>..." to unstage) new file: .gitignore new file: functional_tests.py new file: manage.py new file: superlists/__init__.py new file: superlists/settings.py new file: superlists/urls.py new file: superlists/wsgi.py 看起来不错,可以做第一次提交了: $ git commit 输入git commit后,会弹出一个编辑器窗口,让你输入提交消息。我写的消息如图1-3所示。1 图1-3:首次Git提交 注1:是不是vi弹出后你不知道该做什么?或者,你是不是看到了一个消息,内容是关于账户识别的,其中还显示了git config --global user.username?再次看一下“准备工作和应具备的知识”,里面有一些简单说明。 如果你迫切想完成整个Git操作,此时还要学习如何把代码推送到云端的VCS托管服务中,例如GitHub或BitBucket。如果阅读本书的过程中使用不同的电脑,你会发现这么做很有用。具体的操作留给你去发掘,GitHub和BitBucket的文档写得都很好。要不,你可以等到第8章,到时我们会使用其中一个服务做部署。 对VCS的介绍结束。祝贺你!你使用Selenium编写了一个功能测试,安装了Django,并且使用TDD方式,以测试山羊赞许的、先写测试这种有保障的方式运行了Django。在继续阅读第2章之前,先表扬一下自己吧,这是你应得的奖励。
Python Web开发:测试驱动方法——1.3 创建Git仓库
书名: Python Web开发:测试驱动方法
作者: Harry J·W·Percival
出版社: 人民邮电出版社
原作名: Test-Driven Development with Python
副标题: 测试驱动方法
译者: 安道
出版年: 2015-10
页数: 444
定价: 99
装帧: 平装
ISBN: 9787115403278