版本控制工具
- VSS : 锁机制来管理文件
- CVS : 给项目添加版本号,通过版本号进行项目的管理
- SVN : 集中式管理项目。支持代码的冲突、合并以及历史回退等常见版本操作;SVN 甚至支持分支的合并(SVN 分支合并是一个重量级的,所以分支合并用来非常难用)
- GIT : 分布式项目管理工具。分支合并是一个轻量级的
版本控制工具的作用
- 主要用来管理项目的源代码
- 企业项目团队开发
Git 客户端工具
Git 和 Github的关系
git 和 github 没有关系, github是一个代码托管平台,管理项目用的技术是 GIT
Git 和 Pycharm 的集成
File -> settings -> Version Control -> git -> execute path (D:/Program Files/git/bin/git.exe)
Git 服务器的安装(gitblit 私服)
gitblit 采用的 Java 语言开发的 GIT 服务端,所以安装 gitblit 需要先安装 Java 环境
-
安装 Java
-
配置环境变量
JAVA_HOME C:\Program Files\Java\jdk1.8.0_91 PATH %JAVA_HOME%\bin CLASSPATH .
-
验证是否安装成功
WIN + R => cmd => java -version
gitblit 搭建
- 解压到指定的某一个 盘符中
- 找到 gitblit 的安装目录,并打开 installService.cmd 安装 / uninstallService.cmd 卸载
在SET ARCH=amd64
下一行添加SET CD=D:\Program Files\gitblit-1.8.0
- 找到
D:\Program Files\gitblit-1.8.0\data\default.properties
文件并打开
1993 行:server.httpPort = 7000
2020 行:server.httpBindInterface =192.168.14.10(自己电脑的 IP)
- 安装 gitblit 服务(命令提示符必须是管理员模式)
切换到D:\Program Files\gitblit-1.8.0
执行 installService.cmd - 启动服务
WIN + R -> services.msc - 访问 giblit
http://192.168.14.10:7000
操作 gitblit 服务器
登录 gitblit, 默认的账号是 admin , 密码是 admin
- admin 账号是超级管理员账号,在企业中,一般你们是没有该账号
- 用 admin 账号 创建自己的账号,或者由组长创建并发给组员
使用 个人账号/密码 登录 gitblit
- 组长:负责创建 版本库
- 组员: 或者 版本库的地址
ssh://lisi2@192.168.14.10:29418/test.git
GIT 中常见的命令介绍
touch README.md
linux 创建一个文件git init
在本地初始化一个git仓库git add README.md
把文件 和 本地 仓库 关联起来 ,相当于 给文件指定了一个仓库,但文件还不在仓库中git commit -m "first commit"
把 和 仓库 相关联的 文件 提交 , 提交相当于 把 文件放到了 本地仓库 中git remote add origin ssh://lisi2@192.168.14.10:29418/test.git
把 本地仓库 和 远程仓库 做关联git push -u origin master
把 本地仓库的 数据 推送到 远程仓库 中
Pycharm 和 Git 集成 的常见操作
把 本地开发的项目上传到 git 仓库 中
组长的职责:
-
在 项目 根下 , 新建一个 .gitignore 文件 (忽略不需要提交git的文件)
.idea/ __pycache__/ venv/ migrations/
-
给项目 创建一个 本地仓库
VCS -> import into Version Control -> create git repository ...
-
把项目中所有的文件 和 本地 仓库 进行关联
VCS -> git -> add 或者 项目右键 -> git -> add
-
把项目中所有的文件 提交到 本地仓库
VCS -> commit -> 打开一个窗口,选择要提交的文件 -> commit -> commit
-
把项目上传到远程服务器上
VCS -> git -> push -> define remote -> 输入远程地址 -> push
-
git 分支的介绍
git 分支是用来进行源代码的管理的,默认 git 有一个 master (主分支),
master 分支 不允许写任何代码,该分支的主要作用是存放已发布的项目
所以开发的时候,应该用其他分支 (dev) 进行代码的开发 -
新建分支(用来做代码的开发)
pycharm 右下角 找到 git:master 单击 -> new branch -> 输入分支的名字
-
把新建的分支同样提交到远程 git 服务器上
VCS -> git -> push -> push
常见的问题 push 拒绝
File -> settings -> Version Control
删除里面的 git 管理的项目- 找到 项目所在的路径、并 删除 下面的.git 文件
- 重新进行 代码上传 GIT 的步骤
解决 GIT 每次从远程获取/提交数据的时候,输入密码的问题 (git 的免登录操作)
- 打开 git bash (git的命令提示符)
git config --global user.name '账户名称'
git config --global user.email '账户邮箱'
ssh-keygen -t rsa -C '账户邮箱'
找到生成的公钥文件,并打开 复制里面的所有内容
打开 gitblit 服务器,用自己的账户登录 ,点击用户头像-> 用户中心 -> ssh keys
组员的职责:
- 通过 gitblit 获取 自己对项目的访问 地址
ssh://lisi2@192.168.14.10:29418/taobao.git
- 在 pycharm 中进行项目的下载
VCS -> Check out from Version Control -> git -> 输入 ssh 地址
- 下载好的代码 默认是 master 分页,要切换到 开发分支
pycharm 右下角 找到git:master 单击 -> remote brash -> Origin/devp -> checkout as ... Ok
团队开发需要注意的事项:
团队开发数据库的配置应该是 一个小组用一个数据库
开发过程中 git 管理项目常见的操作
写代码之前:
- 查看 当前分支 是否是 开发分支
- 从远程服务器 同步 团队成员提交的代码
VCS -> git -> pull
目的:是为了保证自己本地的代码和 服务器的代码 完成同步
写完代码后:
- 保证自己的代码 在 本地 能够调试 成功
- 把自己的写的代码 提交到 本地仓库
在企业级开发中,一般公司会做一个 自动化部署,一旦开发人员将项目进行 push, 则会自动部署项目 - 当某个功能确定完成后,在把所有 commit 后的代码 push 到 远程服务器中