Windows XP 下如何使用Qt Creator中的Git版本控制功能

时间:2023-01-11 22:06:44


原文地址: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版本控制功能的更多相关文章

  1. QT creator中使用opencv

    最近要用到opencv做图像方面的东西,网上很多是用VS加opencv,但自己对VS不怎么喜欢,想用QT Creator.在网上搜索了很多资料,终于花了一天的时间,在QT Creator上能使用ope ...

  2. Qt Creator中的3D绘图及动画教程&lpar;参照NeHe&rpar;

    Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发 ...

  3. Qt在VS2013或Qt Creator 中的控制台输出方式设置

    首先值得注意的是:在写程序的时候,项目保存路径不要涉及到中文,否则容易出错! 一.Qt在VS2013中的控制台输出方式: 注意:这里是而不是Qt Application. 然后直接点击finish即可 ...

  4. Qt Creator中,include路径包含过程(或如何找到对应的头文件)

    Qt Creator中,include路径包含过程(或如何找到对应的头文件) 利用Qt Creator开发程序时,需要包含利用#include来添加头文件. 大家都知道,#include <&g ...

  5. 如何在Qt Creator中导入图标资源

    本文主要描述如何在Qt Creator中创建资源文件,并的打入导入图标文件. 查看图标资源文件时,可以在项目的工程文件上鼠标单击右键-Open With-资源编辑器,效果如下图所示: 在项目的工程文件 ...

  6. WPF 程序在 Windows XP 下报错:The image format is unrecognized&period;

    最近做的一个 WPF 程序,在 Windows 7 或以上版本的系统中,测试都很正常,在 Windows XP 下运行时一开始就报了个错误: {     "ClassName" : ...

  7. Qt Creator中使用qss对界面美化没有作用(效果)的问题

    最近在研究qt界面开发,发现使用qss对界面进行美化后效果不错,要比mfc效率高很多,美化效果也很出色.但是在使用qss文件对界面控件进行美化的过程中遇到了个很奇葩的问题,困惑了我好久,今晚又遇到了, ...

  8. Qt Creator 中的插件Plugin&comma; 区分说明。。。

    Qt Creator 中可以创建 三中类型的插件Plugin: 1.用的最多的,派生自QGenericPlugin类: 在新建Library,   Plugin类型工程中,新建. 调用使用QPlugi ...

  9. Qt creator中配置opencv win7 64bit

    配置方法的原文来自https://www.librehat.com/qt-5-2-vs2012-opencv-2-4-7-dev-environment-setup-tutorial/. 补充,在张静 ...

随机推荐

  1. 第一章-第七题( 有人认为,&OpenCurlyDoubleQuote;中文编程”, 是解决中国程序员编程效率一个秘密武器,请问它是一个 &OpenCurlyDoubleQuote;银弹” 么&quest; )--By 侯伟婷

    首先,“银弹”在百度百科中的解释是银色的子弹,我们更熟知的“银弹”一词,应该是在<人月神话>中提到的.银弹原本应该是指某种策略.技术或者技巧可以极大地提高程序员的生产力[1].此题目中关于 ...

  2. jQuery fullPage&period;js 全屏滚动

    fullPage 是一款不依赖任何 js 库的全屏滚动组件,支持垂直/水平滚动.CSS3 旋转/缩放动画,支持 IE5.5+,支持移动设备. 在线实例 垂直滚动 水平滚动 CSS3 动画1 CSS3 ...

  3. jquery的change&lpar;&rpar;:下拉框值改变时触发

    <script src="jquery.min.js" type="text/javascript"></script> <scr ...

  4. ASCII 码表

    下面的 ASCII 码表包含数值在0-127之间的字符的十进制.八进制以及十六进制表示. 十进制 八进制 十六进制 字符 描述 0 0 00 NUL   1 1 01 SOH start of hea ...

  5. HTML的简单介绍

    <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Co ...

  6. golang(5):编写WebSocket服务,client和html5调用

    本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/46882777 转载请必须注明出处! 1.关于websocket HTML5定义了 ...

  7. 1013 Realtime Status

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission( ...

  8. 记一次JavaWeb网站技术架构总结

    题记 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充. 俗话说的好,冰冻三尺非一日之寒, ...

  9. appium python中的android uiautomator定位

    text定位:driver.find_element_by_android_uiautomator('new UiSelector().text("请输入手机号")') #模糊定位 ...

  10. linux利用CMakeLists编译cuda程序

    文件目录: cudaTest |--utils.cu |--utils.h |--squaresum.cu |--squaresum.h |--test.cpp |--CMakeLists.txt 编 ...