整合git与wingIDE(代码下载)
通过多次被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(代码下载)的更多相关文章
- Jenkins进阶-Git多仓库代码下载编译 (13)
多仓库代码部署这个问题其实在13年做配置管理的时候,就遇到过这样的问题,而最近公司可视化图项目也需要多个仓库代码需要同时下载进行编译,由于仓库之间的代码编译有依赖关系,所以必须同时下载下来按照顺序进行 ...
- openwrt git 代码下载地址
openwrt 各个版本代码下载 trunk:git clone git://github.com/openwrt/openwrt.git 15.05 (Chaos Calmer)git clone ...
- Dubbo与SpringBoot整合流程(从实例入手,附代码下载)
场景 Dubbo环境搭建-管理控制台dubbo-admin实现服务监控: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10362 ...
- AndroidStudio中利用git下载github或者git.oschina的代码时报错:repository test has failed解决方法
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 QQ986945193 微博:http://weibo.com/mcxiaobing AndroidS ...
- 【原】无脑操作:Gitblit服务器搭建及IDEA整合Git使用
背景:虽然有GitHub.GitLab这样强大的Git仓库,但是涉及私有Git库要收费,所以自己动手搭建免费的用用 环境:windows 7 旗舰版.JDK 1.8.IDEA 2017 ------- ...
- IDEA整合GIT所有操作
IDEA整合GIT操作 1.1 配置Idea集成Git 1.2 在使用SSH key 创建公钥私钥,上传公钥到github (1).点击开始菜单-->所有程序--->git选择 Git B ...
- 3-Gitblit服务器搭建及IDEA整合Git使用
背景:虽然有GitHub.GitLab这样强大的Git仓库,但是涉及私有Git库要收费,所以自己动手搭建免费的用用 环境:windows 7 旗舰版.JDK 1.8.IDEA 2017 ------- ...
- 07.深入浅出 Spring Boot - 数据访问之Mybatis(附代码下载)
MyBatis 在Spring Boot应用非常广,非常强大的一个半自动的ORM框架. 代码下载:https://github.com/Jackson0714/study-spring-boot.gi ...
- 15分钟学会使用Git和远程代码库
git是个了不起但却复杂的源代码管理系统.它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作.让我们诚实一记吧:Git是复杂的,我们不要装作它不是.但我仍然会试图教会你用(我的)基本 ...
随机推荐
- Partitioner
partitioner 是map中的数据映射到不同的reduce时的根据.一般情况下,partitioner会根据数据的key来把数据平均分配给不同的reduce,同时保证相同的key分发到同一个re ...
- How to fix broken packages?(转)
Try Code: sudo apt-get update to update your package list.Then Code: sudo apt-get autoclean to clean ...
- 深入理解Java内存模型(四)——volatile
volatile的特性 当我们声明共享变量为volatile后,对这个变量的读/写将会很特别.理解volatile特性的一个好方法是:把对volatile变量的单个读/写,看成是使用同一个监视器锁对这 ...
- 15.导入网表及status介绍[原创]
一.导入网表 在导入网表之前你的封装需确认是在你的封装路径下 建立Board工程后: ① ② ③ ④放置器件 ⑤ (切记,封装路径一定要添加) 二.status介绍 --- (常用) -------- ...
- android backlight
背光设置是在:设置->声音和显示->亮度,通过进度条来设置的. 文件:packages/apps/Settings/src/com/android/settings/BrightnessP ...
- tomcat下jndi的三种配置方式
jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API.命名服务将名称和对象联系起来,使得我们可以用 ...
- HTML5游戏开发_是男人就下100层
项目流程 市场调研(可行性分析)--> 可行性报告书 需求分析师.客户经理 需求分析--> 需求说明书 项目经理.需求分析师 概要设计--> 概要设计说明书(ER图, UML) ...
- ArrayList集合的语句示例
namespace ArrayList集合的语句示例{ class Program { static void Main(string[] args) { ...
- UVa 11100 The Trip, 2007
今天的教训:做题要用大块的时间来做,上午做一下,做题做到一半就去忙别的事,那么后面再做的时候就无限CE,WA了.因为你很难或者需要很长时间来找回当时的思路. 题意:就像套瓷娃娃一样,有n个包,大小可能 ...
- 51nod1262 扔球
相关讨论里的答案:(by mint_my ) 1.反弹n次,那起点S,每次反弹点,终点S共连接n+1条边,那么原问题变为从S走n+1条边回到S,为令n=n+12.设步长为a条边,gcd(a,n)==1 ...