设为首页 收藏本站
查看: 998|回复: 0

[经验分享] Windows XP 下如何使用Qt Creator中的Git版本控制功能

[复制链接]

尚未签到

发表于 2018-9-19 06:16:28 | 显示全部楼层 |阅读模式
  Qt Creator是针对Qt应用开发平台专门设计的IDE开发工具,集成了很多功能,分别有windows、Linux、Mac版本。对于那些经常使用Qt的开发者,就不多介绍了。下面讲讲如何在Qt Creator中使用版本控制,Qt Creator中可以选择Git或是Subversion来进行版本控制,我选择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命令请查阅官方手则。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-593694-1-1.html 上篇帖子: Git使用说明 II 下篇帖子: git glossary(词汇表)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表