一. Git是什么?
Git是目前世界上最先进的分布式版本控制系统(没有之一)。
Git有什么特点?简单来说就是:高端大气上档次!
那什么是版本控制系统?
如果你用Microsoft Word写过长篇大论,那你一定有这样的经历:
想删除一个段落,又怕将来想恢复找不回来怎么办?有办法,先把当前文件“另存为……”一个新的Word文件,再接着改,改到一定程度,再“另存为……”一个新文件,这样一直改下去,最后你的Word文档变成了这样:
过了一周,你想找回被删除的文字,但是已经记不清删除前保存在哪个文件里了,只好一个一个文件去找,真麻烦。
看着一堆乱七八糟的文件,想保留最新的一个,然后把其他的删掉,又怕哪天会用上,还不敢删,真郁闷。
更要命的是,有些部分需要你的财务同事帮助填写,于是你把文件Copy到U盘里给她(也可能通过Email发送一份给她),然后,你继续修改Word文件。一天后,同事再把Word文件传给你,此时,你必须想想,发给她之后到你收到她的文件期间,你作了哪些改动,得把你的改动和她的部分合并,真困难。
于是你想,如果有一个软件,不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去。如果想查看某次改动,只需要在软件里瞄一眼就可以,岂不是很方便?
这个软件用起来就应该像这个样子,能记录每次文件的改动:
版本 | 文件名 | 用户 | 说明 | 日期 |
---|---|---|---|---|
1 | service.doc | 张三 | 删除了软件服务条款5 | 7/12 10:38 |
2 | service.doc | 张三 | 增加了License人数限制 | 7/12 18:09 |
3 | service.doc | 李四 | 财务部门调整了合同金额 | 7/13 9:51 |
4 | service.doc | 张三 | 延长了免费升级周期 | 7/14 15:17 |
这样,你就结束了手动管理多个“版本”的史前时代,进入到版本控制的20世纪。
二. 准备工作
2.1 PyCharm版本为2.7或更高
2.2 已经创建一个工程
2.3 Git插件可用,对应可执行文件在 Git page页面正确配置
三. 具体步骤
Step 1、创建一个Git集
按下Alt+`显示常用的VCS命令(也可以通过主菜单VCS→VCS Operations Popup),选择Create Git repository命令:
Git通过在父目录下创建一个.git文件夹来安装本地版本库。此处我们选择在根目录下创建.git目录:
Step 2 、Pycharm用户界面变化
(1)出现Changes tool window窗口
(2)Solver.py文件名变色
这也意味着这个新的文件尚未添加版本控制(稍后介绍)。
(3)打开设置对话框(Ctrl+Alt+S),单击 Version Control,发现MySimplePythonApplication目录已经和Git关联:
Step 3 、为文件添加版本控制
方法put a file under version control,这里例举一种。选择Solver.py文件,按下Ctrl+Alt+A。
Solver.py文件变为绿色,意味着已经进行了版本控制,但尚未托管:
Step 4、提交本地版本库
在Changes tool window窗口中选择 Solver.py文件,按下Ctrl+K,输入信息,单击Commit。
打开Changes tool window的Log tab选项卡查看;
Step 5 .进行代码的回退
选择log 窗口,在右边的窗口会显示 已经上传到本地库中的 model.py文件,选择show history for revision 的小窗口,可以看到左侧 model.py提交的历史版本,可以根据commit时备注的信息,选择需要回退的版本。
在history窗口下,选择左侧的历史描述 ,选择回退的model.py的版本,右键选择Get就可以将model.py回退到你需要的版本
Step 6、查看当前分支
两种方式:
第一,使用主菜单命令VCS→Git→Branches,在弹出的窗口中查看:
第二,使用状态栏上的Git组件:
Step 7、更改主分支代码
以重命名为例。将光标定位在discr符号上,按下Shift+F6,输入新名字discriminant。
注意此时左槽会产生相应标记:
单击这个标记,Pycharm会弹出窗口提示当前所做更改。按下Ctrl+K快捷键更新代码。
Step 8、创建一个新的分支
单击状态栏上的分支图标,输入名称:
新分支现在在当前 Changes tool window窗口中,作为一个选项卡:
接下来再从主分支中创建第二个分支(Branch2)。
Step 9、更改新分支中的代码
切换到分支1:
将光标定位在discriminant符号上,按下Shift+F6,输入简写,例如dis,然后按下Ctrl+K托管更改。
对分支2进行同样操作。
Step 10、合并分支
只能将当前分支合并到其他分支上。使用VCS→Git→Merge Changes的主菜单命令:
选择接受这些更改并托管,再次查看,发现比之前更复杂了: