近期工作需要,涉及到项目的版本控制,需要使用QtCreator+git+linux做版本控制,经过两天漫长的学习,终于成功实现!
现将踩过的坑与雷点记录总结:
-
安装gitlab
由于公司是内网开发,所以只能通过安装包。
下载好安装包之后,yum install git 一路回车
最后通过git version 查看当前git 版本,即证明git 安装成功。
配置git 用户名和邮箱:
Git config –global user.name “mingzi”
Git config -global user.email “邮箱”
查看设置的信息:git config –list
配置远程服务器的别名:git remote add origin git@gitlab.com:网址
Git 远程仓库 添加 远程仓库的别名 网址 -
配置SSH(公钥和私钥)SSH是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。使用SSH协议可以连接远程仓库时无需输入密码就实现对github的流畅访问。
【首先切记一定要以root用户进行以下操作,否则之后将寸步难行,全都报错!】
A-生成证书:ssh-keygen -t rsa -C “前面设置的email”
三次确认直接回车
B-查看是否在系统中生成【root】
cd ~/.ssh/
ls
cat ./ssh/id_rsa.pub
Id_rsa:私钥
Id_rsa.pub:公钥
C- 把公钥证书注册在github上
【打开github主页】-【登录】-【Setting】-【SSH keys】
D- 验证git配置是否正确
Ssh git@gitlab.com -
从远程仓库中拉取项目
新建一个git文件夹搭建本地仓库 执行 git init ,初始化之后,本目录会出现一个隐藏文件夹.git
Git 相关操作
git add README.md #添加文件到本地仓库
git rm README.md #本地倒库内删除
git commit -m “first commit” #提交到本地库并备注,此时变更仍在本地。
git commit -a ##自动更新变化的文件,a可以理解为auto
git remote add xxx git@github.com:xxx/xxx.git #增加一个远程服务器的别名。
git remote rm xxx ##删除远程版本库的别名
git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上
git clone git@github.com:theonlyu/test.git 拉取
git clone -b “拉取的分支名称” SSH地址 拉取指定分支
git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以读
git clone git@github.com:xxx/test.git ##以SSH方式克隆到本地,可以读写
git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以读写
git fetch git@github.com:xxx/xxx.git ##获取到本地但不合并
git pull git@github.com:xxx/xxx.git ##获取并合并内容到本地
分支管理
git branch #显示当前分支是master
git branch new-txt #创建分支命名为new-txt
git checkout new-txt #切换到新分支
touch branch.txt
git add branch.txt
git commit -a -m “added branch.txt”
git push test_readme new-txt ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为 -
QT git配置
工具——选项——版本控制——Git——配置——/usr/bin/git(which git)
工具——Git——相关操作
大功告成!!!!