版本控制的优点:

最原始的版本控制,类似自动创建多个快照。

所有的版本数据都存在服务器上,用户的本地只有自己以前所同步的版本,如果不连网的话,用户就看 不到历史版本,也无法切换版本验证问题,或在不同分支工作。服务器数据需要定期做备份。

每个用户都拥有全部数据,加强了数据的安全稳定性,但增加了本地存储空间的占用。
SVN:集中式版本控制系统 Git:分布式版本控制系统
git官网 淘宝镜像
安装好git后,可以看到三个工具。

Git Bash:Unix与Linux风格的命令行 Git CMD:Windows风格的命令行 Git GUI:图形界面的Git
Git Bash最为常用
由于要用Git Bash,需要掌握基本的Linux命令,下面是一些常用命令汇总。
Linux语句 | 实现功能 |
|---|---|
cd . . | 回退到上一个目录 |
pwd | 显示当前所在的目录路径 |
ls | 列出当前目录中的所有文件 |
touch | 新建一个文件 |
rm | 删除一个文件 |
mkdir | 新建一个文件夹 |
rm -r | 删除一个文件夹 |
mv | mv index.html src , index.html 是我们要移动的文件, src 是目标文件夹 |
reset | 重新初始化终端 |
clear | 清屏 |
history | 查看命令历史 |
exit | 回退到上一个目录 |
打开git bash,输入下面的命令进行设置。 设置用户名:
git config --global user.name "zstar"设置邮箱:
git config --global user.email zstar1003@163.com输入完后,会在本地新建一个配置文件,该文件是隐藏的。 输入下面的命令,可以查看配置文件:
git config --global --listGit本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:

在实际操作中,只需记六个命令:

上面的理论看得有点懵?
用通俗的语言皆解释一下文件上传的过程: 在本地IDE上编写好代码后,代码就存在了workspace上。这时候使用 git add . 命令,所有代码就会放入暂存区(Index),相当于存放在内存里,如果这时候关机,该部分会释放掉。之后,再使用 git commit 命令,暂存区的代码会存放到本地仓库(Repository)里,相当于数据已经存放到了本地电脑上的另一个地方。最后,使用 git push 命令,代码从本地仓库提交到远程服务器上。
文件下载过程类似,参照上面的图片。
新建一个本地仓库文件夹,在该文件夹下打开git bash,输入 git init,就会默认生成一个.git的文件夹,该文件夹是隐藏的,windows需要打开查看隐藏文件才可见。

复制该文件夹到其它任意项目文件夹中,项目文件夹就成为了一个新的本地仓库。 用pycharm等IDE打开后,会发现上面多出了几个图标。

github国内访问速度较慢,因此这里采用国内的码云来做代码的远程管理。 码云官网 进入官网后进行注册,在个人设置这里绑定邮箱,之后的git操作需要用该邮箱进行登陆。

由于常用各种IDE进行代码编辑,因此在IDE中去填入git更为方便。下面就来实际操作如何在pycharm提交代码到码云。



如果未进行设置,在命令行输入会找不到git命令。
设置Git可执行文件的路径:

设置Shell的引用:

首先要在项目获得.git文件。 这里可以参照上面的方式,使用git初始化,再将文件夹复制到项目目录。 另一种更方便的方式是直接在这里Create,选择之后会在文件夹下默认产生.git文件。

本地仓库创建好之后,要创建远程仓库。


Private不勾选,代表该项目是公开的,任何人可以搜到。 Remote:代表分支。 Description:项目描述。
在pycharm的Terminal内输入
git add .里面的 . 代表所有文件 代码进入暂存区 输入之后,新修改的代码文件会变成蓝色。
当暂存区不会空时,就可以勾选这个commit

选择需要上传的文件到本地仓库,并写提交信息。

完成本地仓库上传后,在终端输入
git pushpush后面可以添加分支,默认origin master. 成功上传到远程平台。

通过上面的实操,基本完成了代码的上传。下面是一些其它补充内容。
编写一个.gitignore.txt文档,放到setting同级目录下,内容如下:
# pycharm
.idea/
.DS_Store
__pycache__/
*.py[cod]
*$py.class
# Django stuff:
local_settings.py
*.sqlite3
# database migrations
*/migrations/*.py
!*/migrations/__init__.py这表示.gitignore.txt内标记的文件将不会上传码云。
多人协作时需要用到分支操作,这里暂不涉及实际操作。 git分支中常用指令:
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]备份依赖库到项目文件夹:pip freeze > requirements.txt 一键安装依赖库:pip install -r requirements.txt