linux+QT结合Git进行代码管理

        先在gitee或者github等代码管理平台创建一个仓库。

        .gitignore文件用于填写需要忽略的文件。

        开源协议,linux系统用GPL开源协议。

安装git

sudo apt update
sudo apt install git

        安装完成后,可以通过以下命令检查Git版本:

git --version

配置Git

        安装完成后,需要配置 Git 的用户信息,以便在提交代码时记录正确的身份。

设置用户名和邮箱

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

查看配置信息

git config --list

编辑配置文件(可选)

git config --global --edit

初始化git仓库

        在想要使用 git 的目录下。

        初始化git仓库。

git init

        初始化的话会生成一个.git目录。

        新一点的版本可能提示

cat@lubancat:~/Project$ git init
提示:使用 'master' 作为初始分支的名称。这个默认分支名称可能会更改。要在新仓库中
提示:配置使用初始分支名,并消除这条警告,请执行:
提示:
提示:	git config --global init.defaultBranch <名称>
提示:
提示:除了 'master' 之外,通常选定的名字有 'main'、'trunk' 和 'development'。
提示:可以通过以下命令重命名刚创建的分支:
提示:
提示:	git branch -m <name>
已初始化空的 Git 仓库于 /home/cat/Project/.git/

        这是提示直接初始化的分支(git init语句就是初始化了一个分支仓库)名称为Master。分支名称可根据提示设置。

查看当前分支名称

#在创建分支的目录下执行
git status

        或者 

git branch

重命名本地分支

git branch -m old-branch new-branch

查看远程仓库的分支列表

        该指令在创建远程分支之前,不会有输出内容

git branch -r

添加新文件到仓库

        比如现在在Git仓库的目录下,新建了一个txt文件。

        执行

git add xxx.txt

        就能把新创建的文件或文件夹添加进本地仓库

创建密钥

        想要连接远程仓库需要密钥进行认证。

ssh-keygen -C 'github账户绑定的邮箱' -t rsa

#生成一个 RSA 类型的 SSH 密钥对,并将指定的邮箱作为注释添加到密钥中

#ssh-keygen
#这是 SSH 密钥生成工具,用于创建 SSH 密钥对(包括公钥和私钥)。
#SSH 密钥对用于加密通信,公钥可以公开,而私钥需要保密。

#-C:用于添加注释(Comment)。
#注释可以是任何字符串,通常用于描述密钥的用途或与该密钥关联的用户信息。

#-t:指定密钥的类型。
#rsa:表示生成 RSA 类型的密钥。默认也是生成RSA类型密钥。

私钥文件:~/.ssh/id_rsa(或你指定的路径)。这个文件必须保密,不要泄露给他人。
公钥文件:~/.ssh/id_rsa.pub(或你指定的路径)

打开id_rsa.pub,复制密钥

cd ~/.ssh

cat id_rsa.pub

Gitee远端仓库添加SSH公钥

在用户-设置里头找

测试ssh连接仓库是否成功

ssh -v git@gitee.com

#ssh 建立ssh连接
#-v 输出详细信息

添加远程仓库关联

#将本地仓库与远程仓库关联(关联一次,以后无需再关联)
git remote add STHB-RemoteControl git@gitee.com:TengSea/STHB-RemoteControl.git

#git remote add:用于添加远程仓库。
#STHB-RemoteControl:这是本地记录的远程仓库的默认名称(相当于本地做了个变量名),你可以根据需要更改它(例如 gitee)。
#git@gitee.com:TengSea/STHB-RemoteControl.git:这是 Gitee 仓库的 SSH 地址。
#你需要将 your_userid 替换为你的 Gitee 用户名,将 your_repository_name 替换为你的仓库名称。

删除远程仓库的关联

        根据需要使用。

git remote rm 远程仓库本地名

查看当前关联的远程仓库

git remote -v

修改当前关联的远程仓库的URL

git remote set-url develop <新的仓库地址>
记得设置成和自己仓库的SSH的URL相同

修改远程仓库名称

git remote rename 旧 新

添加项目到暂存区

将项目中所有文件添加到暂存区

git add .

查看暂存区状态(一个常用的命令)

        //我们前面用这个指令查看了当前分支名称

git status

提交

git commit -m "备注内容"

#-m用于写备注

        提交是将更改提交到本地仓库。

        每次提交都会生成一个唯一的提交 ID(哈希值),用于标识这次更改。

git commit --amend

#--amend用于修改最近一次提交
#比如上次提交发现有问题,改过以后,不想有很多杂乱的提交记录。
#就可以直接用 commit --amend修改上一次的提交记录

        注意:修改记录后[推送push]会遇到报错,需要强制push

git push 远程分支名 本地分支名 --force

推送

        推送是将本地仓库推送至远程仓库。

        推送内容的同时,需要添加一个配置。

        设定本地的分支追踪远程仓库的 origin/master 分支(其实就是将本地仓库分支和远程仓库分支建立联系)。在以后的推送中默认使用 origin/master作为默认远程分支。

git push -u 本地分支名 远程分支名

#STHB-RemoteControl:这是远程仓库的默认名称(在添加远程仓库时设置)。
#development:这是本地分支的名称。
#-u:这是 --set-upstream 的简写形式,用于设置上游分支,即本地分支与远程分支的关系。
#设置后,本地分支会自动追踪远程分支。(也就是建立本地分支和远程分支的联系)

#本地分支名称可通过 git status查看

         这样本地的 main 分支就有目标上游分支了,以后就只需要运行:

git push 本地远程分支名 本地分支名

拉取

git pull 远程仓库本地名 本地仓库名

  git pull 是一个组合命令,它会先执行 git fetch(从远程仓库拉取最新的更改),然后执行 git merge(将远程分支的更改合并到当前本地分支)。

 git pull 本身不会直接覆盖或删除本地现有文件,但它可能会导致冲突,需要手动解决。

推送报错

        原因是远程分支存在本地分支没有的文件,git工具认为远程分支比本地分支更新。

        需要在本地没有新文件的情况下,先PULL拉取下来, (或者一开始就不搞什么初始化本地仓库,直接克隆远程仓库下来,再加新文件)(克隆下来的远程仓库默认名为 origin)

git pull 远程仓库本地名 本地仓库名

        git pull 是一个组合命令,它会先执行 git fetch(从远程仓库拉取最新的更改),然后执行 git merge(将远程分支的更改合并到当前本地分支)。

 git pull 本身不会直接覆盖或删除本地现有文件,但它可能会导致冲突,需要手动解决。

  • git fetch:从远程仓库拉取最新的元数据和更改,但不会自动合并到本地分支。

  • git merge:将远程分支的更改合并到当前本地分支。

冲突处理
  • 如果远程仓库中的更改与本地的更改冲突,Git 会暂停合并操作,并提示你手动解决冲突。

  • 冲突文件会标记为“冲突状态”,需要你手动编辑这些文件,解决冲突后,运行以下命令标记文件为已解决:

git add <冲突文件>

         完成所有冲突文件的解决后,运行:

git commit

        是否会丢失本地更改?

        不会丢失本地更改:git pull 会尝试将远程更改合并到你的本地分支,而不会直接覆盖本地文件。 如果你担心丢失本地更改,可以在执行 git pull 之前,先运行git status命令查看当前分支的状态。如果有未提交的文件,先 git commit提交。

其他常用指令

1.查看提交日志。
git log
2.更新远程数据到本地。(不等于pull)
git fetch origin main
3.获取远程仓库
git clone 项目网址

Qt Creator结合Git进行代码管理——以Gitee为例-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大象荒野

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值