一、版本控制
1、版本控制介绍
(1)Version Control System 版本控制系统,简称VCS。
(2)版本控制系统分类:
- 集中式版本控制工具:SVN
- 分布式版本控制工具:Git
2、Pycharm 支持的版本控制工具种类
- Git:免费、开源的分布式版本控制系统。
- Mercurial:也是一种分布式版本控制系统,采用 Python 语言实现。
- Subversion(SVN):简称SVN,集中式的版本管理系统。
- Perforce(P4) :简称P4, 是一款非常优秀的商业化版本管理工具,Pycharm专业版才有。
3、Pycharm 版本控制相关界面
(1)版本控制界面(VCS)
(2)Git 命令界面
(3)版本控制设置界面
File | Settings | Version Control
reference:
4、Pycharm 启用版本控制工具
VCS | Enable Version Control Integration
这里我们选择版本控制工具Git
启动版本控制之后,主菜单栏的VCS消失了,替换成Git。
5、Pycharm 关联项目和版本控制工具
File | Settings | Version Control
添加版本控制成功后,可以在主界面的窗口工具栏看到 Git 工具栏。
PyCharm 支持两个级别的版本控制集成,IDE级别和项目级别。
在项目级别,通过将项目文件夹与一个或多个版本控制系统相关联来启用 VCS 集成。
二、Git 版本控制
1、Git配置
File | Settings | Version Control | Git
Path to Git executable :git可执行文件的路径,需要先安装git。
Test:单击此按钮以验证 Git 可执行文件的路径。
2、GitHub配置
File | Settings | Version Control | GitHub
(1)点击 Add Account 或者 + 号,选择 Log In via GitHub,此时会自动打开浏览器,进去 GitHub 授权界面 。
(2)点击 Authorize in GitHub,,进入登录页面。输入你的用户名和密码,点击 Sign in 登录。没有的话需要自行注册下。
(3)第一次登录的话需要验证码,我这之前已经登录过了所以直接授权成功。
3、share 将本地项目分享到远程仓库
例:本地创建项目 pythonProject 分享到GitHub
Main Menu | Git | GitHub | Share Project on Github
登录GitHub上查看share的项目。
4、clone 从远程仓库拉取项目到本地
例:从GitHub上拉取项目 pythonProject 到本地来。
方法1:"Welcome to Pycharm" 欢迎界面点击"Get from VCS"
由于之前配置了GitHub账号信息,这里显示了账号拥有的项目。这里我们拉取项目 pythonProject 到本地,点击Clone。
方法2: Main Menu | Git | Clone
5、commit and push 将代码提交到本地库后推送到远程仓库
例:在本地的项目pythonProject中,新建一个test.py文件,编辑代码然后提交到GitHub上去。
方法1:使用Pycharm提供的快捷工具
(1)创建test.py文件
(2)commit 提交到本地库
(3)push到远程仓库
(4)登录GitHub检查文件。
方法2:使用git命令行模式
(1)将文件提交到暂存库:git add file 或者使用git add -A 是提交所有变更的文件
(2)将文件提交到本地库:git commit -m "description information‘"
(3)将文件提交到GitHub:git push
(1)修改 test.py文件,打开终端Terminal
(2)使用git命令将文件提交到GitHub
Microsoft Windows [版本 10.0.19044.1586]
(c) Microsoft Corporation。保留所有权利。
(venv) C:\Users\057776\PycharmProjects\pythonProject>git add -A
(venv) C:\Users\057776\PycharmProjects\pythonProject>git commit -m 20220322
[master 5546b17] 20220322
1 file changed, 2 deletions(-)
(venv) C:\Users\057776\PycharmProjects\pythonProject>git push
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 359 bytes | 179.00 KiB/s, done.
Total 3 (delta 1), reused 1 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To github.com:panc-test/pythonProject.git
f53dbbd..5546b17 master -> master
(venv) C:\Users\057776\PycharmProjects\pythonProject>
(3)登录GitHub检查
6、文件名字体颜色含义
- 红色,未加入版本控制;
- 绿色,已经加入版本控制暂未提交;
- 蓝色,加入版本控制,已提交,有改动;
- 白色,加入版本控制,已提交,无改动;
- 灰色:版本控制已忽略文件。
7、.gitignore忽略文件
使用git commit提交文件的时候弹出commit窗口栏,默认显示如下2个文件夹。
- Default Changelist :已经添加到VCS的文件
- Unversioned Files :没有添加到VCS的文件
对于项目目录下的.idea文件夹和venv虚拟环境配置文件夹等不需要提交到版本控制,可以使用.gitignore文件来忽略这些文件。
(1)方法一(不推荐)
File | Settings | Editor | File Types
配置好.gitignore文件后,我们再来看下commit窗口栏的文件列表。
说明:
1 added :一个文件新增版本控制文件 test.py
1 modified :一个文件变更 test_sample.py
2 deleted :2个文件删除 conftest.py test_class.py
Amend:勾选这个客户修改之前commit的描述信息
(2)方法二(推荐使用)
在项目根目录下新建一个.gitignore文件,然后选择git要忽略的文件夹/文件添加到.gitignore文件中。使用这个文件的好处是多人合作项目的时候大家都可以共用一个.gitignore文件来忽略不需要的文件了。
鼠标右键 Git | Add to .gitignore | .gitignore
说明:
如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的,需要先清除本地当前的Git缓存。
打开项目路径,在Git Bash命令窗口输入命令:
git rm -r --cached .
git add .
三、分支管理
工作中一个项目不可能就是一个人来完成,多个开发成员共同来完成一个项目。这样就需要分支管理,每个成员在自己的分支上开发,开发完成后merge到上一层分支或主分支上。
分支管理
合并分支和冲突处理
reference: