版本控制工具
- VSS (采用锁机制)
- CVS
- SVN (集中式版本控制工具)
- GIT (分布式版本控制工具)
git 服务器
- git代码托管平台 github
- 自己搭建私服 gitblib
git 客户端
linux : sudo apt install git
window : git.exe
git常见的命令
- 设置 git 用户身份
git config --global user.name '名字' ;
git config --global user.email '邮件' ;
- 初始化一个空的仓库
git init
- 将 文件 添加到 git的 暂缓区
git add xxx
- 将 暂缓区的数据、进行提交
git commit -m '注释'
- clone 项目
git clone ...
- ssh 免登录操作
ssh-keygen -t rsa -C '邮箱'
- git 关联远程仓库
git remote add origin ssh://github.com/411380764/kaoqin.git
- 将本地仓库数据 推送到 远程仓库 master 分支
git push -u origin master
- 断开远程仓库的关联
git remote remove origin
Pycharm 使用 git 版本控制工具
- 将 pycharm 和 git 进行关联
File -> settings -> Version Control -> git -> path ... executeable -> 设置 git.exe 安装路径
将项目 交给 git 管理
- 在项目的根下、初始化一个 git 空的仓库
VCS -> import into Version Control -> create git repository -> ok
(在 项目根下、 执行 git init)
- 在项目的根下 、新建一个 .gitignore 文件 (忽略不需要提交的代码)
.git
.idea
_pycache__
venv
- 将项目中 除了忽略的文件、全部 交给 git 管理 (存到暂缓区)
VCS -> git -> add
(git add *)
- 将 暂缓区的所有数据、提交到 git 本地仓库
VCS -> commit -> 打开 commit提交窗口 -> 选择要提交的部分文件 -> commit -> 弹出窗口 -> commit
将本地仓库 和 远程仓库 进行管理、并推送到远程仓库 (远程仓库只能被关联一次)
VCS -> git -> push -> (如果是第一次、需要设置远程仓库地址 Define Remote)
PS : master 分支 是 主分支 、 在 企业开发过程中, master 分支 不允许 编写代码 ,master分支代码是合并其他分支而来的
master 分支的代码是经验测试后、准备上线的代码
新建 一个 开发 分支 、进行代码的开发(自定切换到新的分支)
pycharm 右下角 master -> 单击 -> new Branch -> 输入 新的 分支名 (devlopment)
切换分支
pycharm 右下角 master -> 单击 -> local brash -> 要切换的分支名 -> checkout
将新的分支 推送到远程服务器
从远程仓库clone 项目到本地(自动交给 git管理、并自动创建本地仓库)
- 从远程仓库 用自己账号 登录 、并获取 项目 地址 ssh://guoshuang@192.168.11.5:29418/huokundian_pro.git
- 在 pycharm 中 、下载项目到本地
VCS -> Checkout form Version Control -> git -> 输入 项目地址 -> clone
- 配置项目所需要的虚拟环境
File -> settings -> project:xxx -> project intercepter -> 新建虚拟环境
- 提取远程所有的分支
VCS -> git -> fetch
- 切换到 远程新建的 开发分支
pycharm 右下角 master -> 单击 -> Remote Branch -> 选择要切换的分支 -> checkout as -> 确定
将远程仓库对应的分支的代码拉到本地
VCS -> git -> pull
PS: 确保自己的代码 全部提交了 本地仓库
正常的git操作流程
- 将远程仓库对应的分支的代码拉到本地
- 编写代码(新增文件、修改代码、删除文件)
- 测试功能(确保服务器能够正常工作)
- 将编写的代码 提交到本地仓库
- 进行 功能 的测试 (测试问题不大)
- 将本地仓库中的代码,提交到远程仓库
Git版本控制工具开发过程遇到的问题
- A , B 两个用户 同时 新增了 一个 相同的文件、并进行操作
- A, B 用户 同时 修改 一个 相同的文件
- A 删除了一个文件、 B 修改一个文件