通过多次被IDE的闪退崩溃甚至无教程调教后,我深刻认识到开发wingIDE这种IDE的小公司,在很多功能方面就是个坑……

所以,如果你的电脑比较好,运行pycharm无压力,建议略过此文,直接去用pycharm,省了下面的糟心事。

当然,我是属于电脑很烂,用pycharm时一点右键就会整个电脑卡死的那种,只能委曲求全用wingIDE,平时练习写写还好,这次需要做严格版本控制时,傻了眼了。

官方主页上关于版本控制的教程是两段分辨率超低的视频,还得FQ去看,然而看了并没有多少用处,因为他只是告诉你有版本控制可以用,以及版本控制时可以随意commit和merge,却并没有告诉你如何把版本控制工具整合在里面。

就连文字教程都没有啊啊啊啊!于是我折腾一个小时,弥补了这个国内外市场上的教程空白。

言归正传,第一步自然是先在自己电脑上把版本控制工具下载好并安装完毕,我这里用的是git

接下来,若要经常进行版本控制,建议先将常用的版本控制工具设置到主菜单栏里。

操作步骤:edit->preferences->Version control->git(我用的git所以这里选的git)

在active里选择always active,然后在git executable里填入git安装目录下的git.exe的文件位置。并且勾选use --porcelain选项,这个选项可以理解为使用一些高级功能。

保存后,不要急着导入项目,先去某目录下初始化git。

步骤如下:新建某个文件夹,右键选择gitbash here,然后在git命令行窗口里输入git init

然后创建你的远程仓库,在git命令行客户端里输入git remote add pb git@git.oschina.net:……为保隐私省略,值得注意的是,远程仓库的git地址一定要是ssh地址,千万不要是https,这是为了后期免输密码考虑的。add成功后输入

git remote -v查看是否显示正确,注意fetch和push最好都是ssh形式,若某个不是,请自行查阅git help更改传输方式

然后创建你的项目的公钥和私钥,这步很重要,我之前就是因为没有正确处理好公钥和私钥的设置,所以ide里一直未能成功。

在git命令行窗口输入 ssh-keygen -t rsa -C "youremail@email.com"

回显如下:

Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):<----这部要输入保存key的目录位置,建议直接在这步敲回车
/c/Users/Administrator/.ssh/id_rsa already exists.
Overwrite (y/n)? y  <-----若已存在,敲y覆盖
Enter passphrase (empty for no passphrase):
Enter same passphrase again:  <------输入密码,可以输密码,也可以敲回车
Your identification has been saved in /c/Users/Administrator/.ssh/id_rsa.<-----出现这几行就是成功了
Your public key has been saved in /c/Users/Administrator/.ssh/id_rsa.pub.
The key fingerprint is:<-----为保隐私,省略下面的
然后立即去那个保存key的目录里把公私秘钥保存到项目的目录下,以防万一

然后把公钥用editplus等文本编辑器打开,把内容粘到项目托管网站的公钥管理处

接下来检验一下是不是正确的配置了公钥和私钥

在git的命令行窗口输入 ssh -T git@git.oschina.net

Welcome to Git@OSC, Anonymous!显示这行就证明你已成功

git的地方就配完了,然后我们继续回到ide,新建项目,然后add existing directory,选择刚才被init过的的那个目录

然后点击主菜单上的git->switch 如果你只是想获取分支的话,主目录可能也需要操作这个步骤,目前没试过,大家可以试试

如图所示,第一行是被git init的目录,第二行是分支名,switch branch后,点击主菜单上的git->pull branch changes

别问我为什么不是fetch ,我也不知道,反正fetch就是得不到文件

pull的填写内容和switch的内容差不多,填写时别弄错就可以了。

然后点击pull按钮就大功告成。

中途如果有什么问题的话可以观察下output的输出内容,都会有相应提示,无非就是以下几种:

1、你的目录未初始化所以找不到.git文件

2、你的公私钥没有配置正确所以提示无权限

3、你的git账号权限确实不对,所以提示无权限

4、你用了https方式的git地址进行传输所以提示无权限或者找不到/dev/tty

5、你的分支名填错所以提示无分支

6、output一片空白,这是很可怕的,很可能是你git配置错,也可能是git配置和wingIDE配置的过程中哪部操作错误,得细细排查,用fetch也会遇到这情况

大概就上面那些,有其他问题可以留言问我

整合过程里还遇到两个wingIDE的bug:

1、在已有一个git项目时使用open project from file或者add另一个git项目地址的目录,整个IDE就会卡死

2、删除所有项目配置变量和初始化过的git目录,在上级目录中init另外的目录并进行new project操作时,新项目会默认为原git项目,且无视原先已删除目录,代码路径继续指向已删除目录,真是无语,不得不新建项目

最后我再次强烈要求wingIDE开源,以方便各位pythoner改软件bug和进行相关配置

再不开源估计python常用的ide市场里只剩pycharm了,虽然它真的不是一般的卡……

整合git与wingIDE(代码下载)的更多相关文章

  1. Jenkins进阶-Git多仓库代码下载编译 (13)

    多仓库代码部署这个问题其实在13年做配置管理的时候,就遇到过这样的问题,而最近公司可视化图项目也需要多个仓库代码需要同时下载进行编译,由于仓库之间的代码编译有依赖关系,所以必须同时下载下来按照顺序进行 ...

  2. openwrt git 代码下载地址

    openwrt 各个版本代码下载 trunk:git clone git://github.com/openwrt/openwrt.git 15.05  (Chaos Calmer)git clone ...

  3. Dubbo与SpringBoot整合流程(从实例入手,附代码下载)

    场景 Dubbo环境搭建-管理控制台dubbo-admin实现服务监控: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10362 ...

  4. AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法

    作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...

  5. 【原】无脑操作:Gitblit服务器搭建及IDEA整合Git使用

    背景:虽然有GitHub.GitLab这样强大的Git仓库,但是涉及私有Git库要收费,所以自己动手搭建免费的用用 环境:windows 7 旗舰版.JDK 1.8.IDEA 2017 ------- ...

  6. IDEA整合GIT所有操作

    IDEA整合GIT操作 1.1 配置Idea集成Git 1.2 在使用SSH key 创建公钥私钥,上传公钥到github (1).点击开始菜单-->所有程序--->git选择 Git B ...

  7. 3-Gitblit服务器搭建及IDEA整合Git使用

    背景:虽然有GitHub.GitLab这样强大的Git仓库,但是涉及私有Git库要收费,所以自己动手搭建免费的用用 环境:windows 7 旗舰版.JDK 1.8.IDEA 2017 ------- ...

  8. 07.深入浅出 Spring Boot - 数据访问之Mybatis(附代码下载)

    MyBatis 在Spring Boot应用非常广,非常强大的一个半自动的ORM框架. 代码下载:https://github.com/Jackson0714/study-spring-boot.gi ...

  9. 15分钟学会使用Git和远程代码库

    git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...

随机推荐

  1. os 计算机的启动

    零.boot的含义 先问一个问题,”启动”用英语怎么说? 回答是boot.可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一 ...

  2. MySql存储引擎特性对比

    下表显示了各种存储引擎的特性: 其中最常见的两种存储引擎是MyISAM和InnoDB 刚接触MySQL的时候可能会有些惊讶,竟然有不支持事务的存储引擎,学过关系型数据库理论的人都知道,事务是关系型数据 ...

  3. http://blog.csdn.net/sd0902/article/details/8395677

    http://blog.csdn.net/sd0902/article/details/8395677

  4. Android 广播(内部类)

    1.广播定义在一个单独的文件中 源码: public class MessageReceiver extends BroadcastReceiver{ @Override public void on ...

  5. Android 闹钟设置

    在Android中可以通过AlarmManager 来实现闹钟,AlarmManager类是专门用来设定在某个指定的时间去完成指定的事件.AlarmManager 提供了访问系统警报的服务,只要在程序 ...

  6. 机器人学 —— 机器人视觉(Bundle Adjustment)

    今天完成了机器人视觉的所有课程以及作业,确实是受益匪浅啊! 最后一个话题是Bundle Adjustment. 机器人视觉学中,最顶尖的方法. 1.基于非线性优化的相机位姿估计 之前已经在拟合一篇中, ...

  7. 《c程序设计语言》读书笔记--统计总的字符数,打印能打印的最多字符

    #include <stdio.h> #define MAXLINE 10 int getline(char line[],int maxline); void copy(char to[ ...

  8. Using dblink in Postgres

    select contractid from tcim_s_enterprice EXCEPT select contractid from dblink ( 'host=172.16.51.25 p ...

  9. 投影纹理映射(Projective Texture Mapping)

    摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人”  投影纹理映射( Projective ...

  10. noi2015的回忆和教训

    前几天偶然打开了bzoj的rank list,突然发现——我竟然掉出了第一版!!! 自从我5月还是6月刷进第一版之后,我曾经天真的以为大概半年之内我还能保留在第一版内吧. 结果仅仅短短的4个月,我就已 ...