在代码管理过程中,我们基本都要使用git,但我在使用qt的过程中,并没有找到特别详细的配置说明,所以特地写一篇博客记录一下,在本篇博客中,你也可以了解到git的基本原理和用法。
本篇讲解在linux端,如何在qt中使用git,windows端请看链接
链接:详解windows下qt中使用git
环境
首先说一下思路:(linux和windows思路相同)
下载安装git
登录git
(git准备完毕)
注册一个github账号(注册账号的过程不演示了,这个比较简单)
注意:这里github用户名和git用户名需要一致
创建一个仓库
(远程仓库准备完毕)
通过git生成ssh公钥,将绑定到github
建立本地仓库,并用commit提交
建立远程连接,用push推送(需要先提交到本地,才能push到远程)
详细步骤:
git
apt install git -y
这里我报错了
apt-get update
再次apt install git -y进行下载
注意:这里github用户名和git用户名需要一致
git config --global user.name "github用户名"
git config --global user.email "github绑定的邮箱"
git clone https://github.com/duilib/duilib.git
(注册账号的过程不演示了,这个比较简单)
链接:GitHub使用教程(一)-申请GitHub账号
创建仓库的过程也很简单,下面这篇博客供不会建库的新手进行参考
链接:Github 创建仓库以及基础命令的使用
我这里建了一个仓库,给大家进行演示
这里我要进行一点说明,目前默认建的库默认分支都是main,但大多数人都喜欢用master分支,我使用main分支上传时出错,不知道为什么,以下都使用master分支
ssh-keygen -t rsa -C "github绑定的邮箱"
cat /root/.ssh/id_rsa.pub
ssh -T git@github.com
这里的命令是固定的,因为已经通过公钥与github进行了绑定
建立仓库的方式有很多种,我先用代码来演示主要思路
首先在项目所在文件夹下打开命令行窗口,在哪个文件夹下输入命令就相当于把该文件夹当做本地仓库,以git-demo项目为例
//初始化该文件夹为仓库
git init
//将当前文件夹下的所有文件添加到仓库
git add .
//进行一次本地提交(本地提交后才能push到远程仓库)
git commit -m "first commit"
这样,本地仓库就创建完毕。之所以先介绍代码思路的原因,是想把git的完整思路呈现出来。
本地仓库创建完毕
ls -a
使用ls -a命令查看当前文件夹下生成了一个隐藏文件.git,有这个文件就说明当前文件夹是一个本地仓库,删掉它,本地仓库也就删掉了
代码的方式给新手同学来说就是很繁琐,下面介绍一下在qt中新建程序的时候就自动创建本地仓库
查看git-demo2文件夹,自动生成了.git文件,这相当于编译器帮我们完成了上面的代码
如果你的项目已经创建完了,想在qt中使用图形界面创建本地仓库
工具->git->Create repository->open
这样也可以快速的创建本地仓库,本地仓库创建后,该项目就被加入了git管理,项目名会出现master字样
之后修改完代码,我们为了方便,直接在编译器中执行commit操作
工具->git->Local repository->commit
至此本地仓库操作完毕
注意:现在本地仓库commit后才能push到远程仓库
代码演示(依然是在项目源码所在的文件夹那里打开命令行):
git remote add origin 远程仓库路径
git push -u origin master
远程仓库路径我们选ssh的,我们之前创建公钥就是为了这个。其中origin是指这个连接的名字,可自定义,但一般都用origin,剩下的代码不用改变
推送成功
测试的时候发现有的时候会push失败,失败的话把仓库删了,重建一遍。
git init
git add .
git commit -m "first commit"
git remote add origin 仓库路径
git push -u origin master
刷新代码仓库,将分支切换到master
因为github上默认分值为main,而本地默认为master,所以才出现了多分支状况,用户可根据自身需要合并分支,或者将main改为master。我在测试的时候发现比较繁琐,且出现不少问题,就不演示了。
连接远程仓库的操作不好在qt中进行,所以连接还在代码中操作
之后修改完代码,直接在编译器中执行push操作(记住push前本地肯定是要有一次commit的)
工具->git->remote repository->push
push后,编译器会输出提示
在测试过程中,我也出现了一些问题,读者在出现问题时不要慌,按照我的步骤,即使出错了,重新配一次基本都成功了
最后附上一些git可能能用到的基础命令:
绑定git账号
git config --global user.name "github用户名"
git config --global user.email "github绑定的邮箱"
通过git生成ssh密钥
ssh-keygen -t rsa -C "github绑定的邮箱"
测试与github是否ssh连通
ssh -T git@github.com
提交代码(先提交到本地,再同步到远程)
git init
git add .
git status
git commit -m "first commit"
git remote add origin 仓库路径
git push -u origin master
删除本地仓库:直接删除当前目录下的.git文件即可
查看远程仓库
git remote
删除远程仓库
git remote rm origin
查看提交记录
git log
克隆仓库
git clone 仓库路径 本地文件名
码字不易,如果这篇博客对你有帮助,麻烦点赞收藏,非常感谢!有不对的地方,可以评论区交流。