文接上篇,在上一篇中描述了如何安装Git服务器以及Git相关的一些配置和操作,那么如何在我们的开发工具中集成Git,方便git的操作与管理呢,下面我们来说一下vs2017和qtcreator是如何集成git的。
一、VS2017集成Git工具
安装好Git后,VS会自动检测Git版本控制器,打开项目后,点击菜单【视图】->【团队资源管理器】打开团队资源管理器,会看到【本地GIT存储库】
双击本地GIT存储库中的项目,进入到项目的Git操作菜单项中
- 更改
点击【更改】进入到更改界面,在该界面中列出了所有改动了的文件,在文件名上右键可以进行暂存或者点击右上角的【+】进行全部暂存,暂存完后,填写提交信息,点击全部提交按钮,即可提交暂存的修改。
- 分支
点击【分支】进入到分支界面,在该界面中列出了本地的版本分支和远程的版本分支,可以在此处选择新建分支、合并分支、切换分支等操作。
- 同步
点击【同步】进入到同步界面,在该界面中可以进行同步、提取、拉取、推送操作。
1、提取(fetch):从远程提取最新版本到本地,但不主动合并,可以在【分支】中查看,并手动选择合并,针对多人开发,推荐选择提取,然后手动选择合并,可以避免不必要的冲突;
2、拉取(pull):从远程仓库拉取最新版本文件到本地,并自动合并/merge;
3、推送(push):推送本地文件到远程仓库中;
4、同步:先拉取(pull)后推送(push);
- 设置
点击【设置】-【存储库设置】进入设置界面,在这里可以设置远程版本库的地址、git用户信息等。
二、Windows系统中Qt Creator集成Git工具
安装好Git后,打开qtcreator,首先查看【帮助】->【关于插件】,在弹出的对话框中,滚动到【Version Control】位置,查看Git安装成功并已勾选。
打开【工具】->【选项】->【版本控制】,在Git选项卡中把Git安装目录配置到环境变量中。
重启qtcreator,打开项目,会自动根据项目中.git的信息配置项目,也可以手动配置远程仓库的链接。
在qtcreator中【工具】->【Git】->【Local Repository】菜单中可以进行日志查看、清除、状态查看和提交修改。
点击”Commit“菜单后界面中列出所有修改的文件,通过勾选需要提交的文件,并输入提交信息,点击提交,在qtcreator中无需先添加暂存后提交,在此处点击提交后会自动添加到暂存并提交修改。
在qtcreator中【工具】->【Git】->【Remote Repository】菜单中可以进行拉取、提取和推送操作。
这里着重说一下pull拉取,当本地仓库存在未提交的修改时,点击Pull会提示有未提交的修改,会弹出对话框进行选择操作。
- Stash & Pop:先执行git stash存储本地文件的改变,Pull拉取完毕后再弹出刚才的存储;
- Stash:先执行git stash存储本地文件的改变,Pull拉取完毕后不弹出刚才的存储,即以拉取的版本为准,之前修改的文件不做体现;
- Discard:放弃本地版本修改的内容,直接使用Pull拉取的版本替换本地;
- Ignore:Pull拉取远程版本并与本地版本合并;
补充说明:
Git提供了命令git stash,用于存储当前本地修改的文件内容,当本地修改尚未完成时,临时需要切换分支或拉取时,使用git stash把当前本地修改的内容进行暂时存储,执行完其他操作后再使用git stash pop把存储的改动恢复出来继续操作,这样既不影响当前操作同时还可以切换分支进行操作。
三、麒麟系统中Qt Creator集成Git工具
麒麟系统中Qt Creator集成Git工具与Windows中集成步骤基本一致,下面说一下可能会遇到的问题。
1、拉取/推送失败,报以下错误
根据错误提示,该问题是由于没有安装ssh-askpass的原因,安装ssh-askpass,执行sudo apt-get install ssh-askpass
配置ssh的公钥,执行ssh-keygen -t rsa -C "gitblit"
如果拉取或推送时报以下错误
可能是由于用户信息不正确,可以执行命令重置凭证并清除缓存
git config --global credential.helper store
git credential-cache exit
执行以上操作后基本就可以正常拉取和推送了,以上就是实际集成的过程,希望对有需要的人有所帮助,但每个人的环境情况存在差异,在集成过程中可能会遇到一些不一样的问题,也希望大家把自己遇到的问题告诉我,共同进步!