Windows XP 下如何使用Qt Creator中的Git版本控制功能
原文地址:http://www.qtcn.org/bbs/simple/?t16960.html
Qt Creator是针对Qt应用开发平台专门设计的IDE开发工具,集成了很多功能,分别有windows、Linux、Mac版本。对于那些经常使用Qt的开发者,就不多介绍了。下面讲讲如何在Qt Creator中使用版本控制,Qt Creator中可以选择Git或是Subversion来进行版本控制,我选择Git,为什么?你可以看看这两篇文章<<活灵活现用Git-基础篇>>和<<活灵活现用Git-技巧篇>>,如果你早就熟知Git,快走吧。
这里有几个前提要注意:
1 我们是在Windows下,但Git最初是在Linux下诞生的(大神),好在已有热心的开发者制作了针对Windows的安装包,目前已经几个类似的开源项目,都是将Git迁移到Windows来的,这里有个不错的,而且是http://git-scm.com/上钦点的,下载地址是msysgit,下载后直接安装,全部默认,当然如果你不在乎安装路径的话,完成后,别忘了设置PATH路径,加入“Git安装目录\bin”。
2 如果你是在本机下或是在公司内部环境中使用Git,具体的环境搭建请上网查阅。这里我们的模式是使用已有的Git托管服务,然后在本地开发,并同步到托管服务器上。托管服务很多啦,像SourceForge、Google Code,但好像都是svn的,Git的比较好的有GitHub,注册后有300M的免费空间,掏钱则可以换得更大的空间和更多的服务,赶快去吧。
如果你已经安装好msysgit并且开通了GitHub的托管服务,就往下继续吧。
3 设置SSH公钥,注意:这一步的正确配置非常重要,我们至少得有一个SSH公钥才能连接并操作Github或其他repo点上的项目。打开Git Bash,这里我们要配置本地与github.com之间的SSH公钥,
首先,请输入:ssh-keygen -C "你的email地址" -t rsa ,确定回车键连续4次,不管中间要求输入其他东西。该命令将生成一对非对称的公\私密钥,默认它们被存储在
XP/2003用户:c:\Documents and Settings\登陆名\.ssh
Vista用户: c:\Users\登陆名\.ssh
该.ssh文件夹下面,密钥放在id_rsa文件里面,不用理会它;SSH公钥放在id_rsa.pub里面,请用文本编辑器打开它,复制里面所有的字符。假定此时的你已经注册了Github用户,在账号管理account页面,有个大大的“SSH Public Keys”栏目,请点击“add another public key”,Title可空(默认值为email)或者任意,直接黏贴刚才复制的字符在Key文本域里面,最后点击Add Key!
4 SSH成功创建后,在Github网站上创建一个新的项目,创建新的项目/ Create a New Repository,比如创建一个god的项目,记住你看到的Your Clone URL:git@github.com:ynshisss/god.git ,ynshisss是我的用户名,“/”后是我的项目名称“god”。Okay,回到刚才的DOS窗口,我们要设置全局用户名称以及Email以方便Git知道你是谁,分别输入:
git config --global user.email “你的email地址”
git config --global user.name “你的名称”
其实不严格来说,这一步可忽略,它并不影响以后你对项目的各种操作行为,只是让Git记录是由谁在执行操作。本人愚见认为在多人的团队开发过程中同一个项目用同一个SSH公钥的时候可见效果。
5 我们先在本地建个Git仓库用来存放你的项目,在D:\下新建名为“God”的文件夹,然后cd到D:\God\目录下,
键入>git init 来系统初始化当前的Git仓库目录
键入>touch readme 用touch命令创建名为readme的文件
键入>git add readme 把文件readme加入git的版本控制
键入>git commit –m ‘add file readme’提交新版本至git仓库
键入>git remote add origin git@github.com:ynshisss/god.git 在本地为远程服务器建立一个名为origin的分支,以后你要提交本地更新到远程服务器时,就可以用origin别名替代“git@github.com:ynshisss/god.git”
键入>git pull origin master 把远程服务器master分支的内容更新至本地分支(默认情况下,你没有创建新的分支,所以远程和本地都只有一个主分支,名称都是master,具体分支的用法请参考Git官方手则)
键入>git push origin master 把本地master分支所有的修改提交至远程git服务器上的master分支
完成了以上操作后,你可以访问下GitHub上你的项目,看看god下是不是有个文件readme
6 打开Qt Creator,在新建的本地Git仓库目录即D:\God\下新建一个Qt的项目,注意你的项目一定要在Git仓库目录下,否则Qt Creator不能启用版本控制,设置Tools—>Options...-->Git,启用环境变量,确保路径能找到git.exe。
选择Window—>Output Panes -->Git,打开Git提示信息输出窗口,随便编辑一下你的项目,如修改下main.cpp,然后
选择Tools—>Git-->Commit命令提交修改,如果信息提示“git status -u命令错误或无效”说明PATH变量找不到git.exe,重新设置环境变量,commit是将更新提交到本地仓库,此时会打开一个提交窗口,要你输入提交信息,所有信息都要输入。
完成提交后选择Tools—>Git-->Push命令将本地版本同步到服务器,如果信息提示“time out”,这是什么问题呢?
如果此时我用Git Bash环境,cd到D:\God\下,键入>git push,不成功,看看提示信息,大概是说你想同步到哪里的分支去,如果是针对当前的分支可设置config...,好吧我们再键入>git push origin master,成功了,原来是因为Qt Creator中的Push命令找不到远程服务器地址和同步的分支,怎么办,刚才提示了说你可以用config设置全局变量来实现,但更好的做法是修改D:\God\.git\config文件,打开它,看看有些什么:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = git@github.com:ynshisss/god.git
fetch = +refs/heads/*:refs/remotes/origin/*
在config文件中加入:
[branch "master"]
remote = origin
merge = refs/heads/master
现在当你使用>git push命令时,同步的是master主分支,它的远程remote则是origin,也就是git@github.com:ynshisss/god.git。
再次使用Qt Creator来同步吧,更新远程到本地则使用push (pull),更多Git命令请查阅官方手则。
Windows XP 下如何使用Qt Creator中的Git版本控制功能的更多相关文章
- QT creator中使用opencv
最近要用到opencv做图像方面的东西,网上很多是用VS加opencv,但自己对VS不怎么喜欢,想用QT Creator.在网上搜索了很多资料,终于花了一天的时间,在QT Creator上能使用ope ...
- Qt Creator中的3D绘图及动画教程(参照NeHe)
Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发 ...
- Qt在VS2013或Qt Creator 中的控制台输出方式设置
首先值得注意的是:在写程序的时候,项目保存路径不要涉及到中文,否则容易出错! 一.Qt在VS2013中的控制台输出方式: 注意:这里是而不是Qt Application. 然后直接点击finish即可 ...
- Qt Creator中,include路径包含过程(或如何找到对应的头文件)
Qt Creator中,include路径包含过程(或如何找到对应的头文件) 利用Qt Creator开发程序时,需要包含利用#include来添加头文件. 大家都知道,#include <&g ...
- 如何在Qt Creator中导入图标资源
本文主要描述如何在Qt Creator中创建资源文件,并的打入导入图标文件. 查看图标资源文件时,可以在项目的工程文件上鼠标单击右键-Open With-资源编辑器,效果如下图所示: 在项目的工程文件 ...
- WPF 程序在 Windows XP 下报错:The image format is unrecognized.
最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误: { "ClassName" : ...
- Qt Creator中使用qss对界面美化没有作用(效果)的问题
最近在研究qt界面开发,发现使用qss对界面进行美化后效果不错,要比mfc效率高很多,美化效果也很出色.但是在使用qss文件对界面控件进行美化的过程中遇到了个很奇葩的问题,困惑了我好久,今晚又遇到了, ...
- Qt Creator 中的插件Plugin, 区分说明。。。
Qt Creator 中可以创建 三中类型的插件Plugin: 1.用的最多的,派生自QGenericPlugin类: 在新建Library, Plugin类型工程中,新建. 调用使用QPlugi ...
- Qt creator中配置opencv win7 64bit
配置方法的原文来自https://www.librehat.com/qt-5-2-vs2012-opencv-2-4-7-dev-environment-setup-tutorial/. 补充,在张静 ...
随机推荐
- CF1241 D Sequence Sorting(离散化+DP)
题意: 给定数组a[n],用两种操作: 1.将数组中所有值为x的数移至开头 2.将数组中所有值为x的数移至末尾 问,经过最少多少次操作,能将数组a[n]变为非递减的有序数列? (1<=n< ...
- python-form表单
form表单 form属于块级标签 功能: 表单用于向服务器传输数据,从而实现用户与web服务器的交互 表单能够包含input系列标签,比如文本字段.复选框.单选框.提交按钮等等 表单还可以包含tex ...
- 转 awk统计nginx每天访问最高的接口
TODAY=date +%d/%b/%Y 获取当天时间awk -v val="$TODAY" ’ $4 ~ val {print $7}’ access.log 打印当天访问的接口 ...
- make源文件时出现 /usr/bin/ld: cannot find -lstdc++ 错误
解决CentOS 7 中,make源文件时出现 /usr/bin/ld: cannot find -lstdc++ 错误 在CentOS 7中,使用static方法编译,需要安装static vers ...
- 【问题解决方案】git/github本地和远程仓库的重命名
参考: CSDN博文:在Github上重命名仓库 背景: 偶然终于看到一条规范里写着: "通常(注意是通常,尤其是 Web 相关的项目) repo 的命名用小写英文,多个字母之间用连字符(比 ...
- springboot中xml配置之@ImportResource
springboot中进行相关的配置往往有java配置和xml配置两种方式. 使用java的方式配置只需要使用@configuration注解即可,而使用xml的方式配置的话需要使用@ImportRe ...
- centos7下的Firewalld
一.介绍 防火墙守护 firewalld 服务引入了一个信任级别的概念来管理与之相关联的连接与接口.它支持 ipv4 与 ipv6,并支持网桥,采用 firewall-cmd (command) 或 ...
- Oracle varchar2或char类型的byte和char的区别
那其中的BYTE和CHAR有什么区别呢 BYTE,用字节指定:VARCHAR2(10 BYTE).这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符.采用多字节字符集时,字节与字符并 ...
- (PASS)PLSQL激活
注册码: Product Code(产品编号):4t46t6vydkvsxekkvf3fjnpzy5wbuhphqz serial Number(序列号):601769 password(口令):xs ...
- js实用小函数收集
格式化金额 var val='212312.235423' var rex = /\d{1,3}(?=(\d{3})+$)/g; val.replace(/^(-?)(\d+)((\.\d+)?) ...