gitlab使用小结

server/2024/10/18 16:54:42/

GitLab 是一个基于 Git 的代码托管平台,提供了丰富的功能来管理代码仓库、CI/CD、项目管理等。以下是一些常用的 GitLab 命令和示例,帮助你更好地使用 GitLab。

1、 克隆仓库

克隆一个远程仓库到本地:

git clone git@gitlab.example.com:username/repository.git

2、 添加远程仓库

如果你已经有一个本地仓库,并且想要添加一个远程仓库:

git remote add origin git@gitlab.example.com:username/repository.git

3、 推送代码

将本地代码推送到远程仓库:

git push -u origin branch_name

4、 拉取代码

从远程仓库拉取最新代码:

git pull origin branch_name

一般情况下也可以使用:

git pull

拉取最新的代码

5、创建新分支

在本地创建一个新分支:

git checkout -b new_branch_name

6、切换分支

切换到已有的分支:

git checkout branch_name

7、合并分支

将一个分支合并到另一个分支:

git checkout target_branch
git merge source_branch

合并操作一般还是在gitlab上操作。

8、查看分支

查看所有分支:

git branch -a

9、删除分支

删除本地分支:

git branch -d branch_name

删除远程分支:

git push origin --delete branch_name

尽量不使用删除命令,防止误删,尽量在git上进行操作。

10、查看提交历史

查看提交历史:

git log

11、创建标签

创建一个标签:

git tag tag_name

12、 删除标签

删除本地标签:

git tag -d tag_name

删除远程标签:

git push origin --delete tag_name

13、查看远程仓库

查看所有远程仓库:

git remote -v

14、添加文件

将文件添加到暂存区:

git add file_name

15、提交更改

提交暂存区的更改:

git commit -m "commit message"

16、查看状态

查看当前仓库的状态:

git status

17、撤销更改

撤销工作区的更改:

git checkout -- file_name

撤销暂存区的更改:

git reset HEAD file_name

18、撤销提交

撤销最后一次提交(保留更改):

git reset --soft HEAD~1

撤销最后一次提交(丢弃更改):

git reset --hard HEAD~1

19、查看差异

查看工作区和暂存区的差异:

git diff

查看暂存区和最后一次提交的差异:

git diff --cached

20、重命名分支

重命名本地分支:

git branch -m old_branch_name new_branch_name

21、查看远程分支

查看所有远程分支:

git branch -r

22、获取远程分支

获取远程分支并创建本地分支:

git checkout -b local_branch_name origin/remote_branch_name

23、设置用户名和邮箱

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

24、查看配置

查看全局配置:

git config --global --list

25、设置默认分支

设置默认分支(例如 main):

git config --global init.defaultBranch main

例子:新建一个项目包并推送本地代码

git init
git remote add origin http://xxxx/bag.git
git add .
git commit -m "xxxx"
git push -u origin master

关于推送报错:fatal: 无法读取远程仓库

git push -u origin lizhen-C 
git@222.71.182.250: Permission denied (publickey).
fatal: 无法读取远程仓库。请确认您有正确的访问权限并且仓库存在。

这个错误表明在尝试将代码推送到远程仓库时,Git 无法通过 SSH 协议进行身份验证。具体来说,Git 提示 Permission denied (publickey),这意味着 SSH 密钥验证失败。这种通常是由于代码从git上拉取时使用ssh时导致的,解决步骤主要如下:

1、检查 SSH 密钥:

确保你已经在本地生成了 SSH 密钥,并且将公钥添加到了远程仓库的 SSH 密钥列表中。如果你还没有生成 SSH 密钥,可以使用以下命令生成:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

生成的密钥通常位于 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。需要注意:当你运行 上述命令时,系统会提示你输入保存密钥的文件路径。默认路径是 /home/xxx/.ssh/id_rsa,你可以直接按回车键接受默认路径,或者输入一个自定义路径。

生成 SSH 密钥的完整步骤:

运行 ssh-keygen 命令:

ssh-keygen -t rsa -b 4096 -C "xxx"

接受默认路径:

Enter file in which to save the key (/home/zhangxingsheng/.ssh/id_rsa):

直接按回车键接受默认路径。

设置密码(可选):

Enter passphrase (empty for no passphrase):

你可以输入一个密码来保护你的私钥,或者直接按回车键不设置密码。

确认密码(如果设置了密码):

Enter same passphrase again:

再次输入相同的密码。

生成密钥对:
在这里插入图片描述

2、添加 SSH 密钥到 SSH 代理:

确保 SSH 代理正在运行,并且已经添加了你的私钥:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
3、将公钥添加到远程仓库

查看公钥内容:

cat ~/.ssh/id_rsa.pub

复制公钥内容:

将输出的公钥内容复制到剪贴板。添加公钥到远程仓库:登录到远程仓库的管理界面(例如 GitHub、GitLab 等)。找到 SSH 密钥管理页面,通常在账户设置或项目设置中。点击“添加 SSH 密钥”或类似的按钮。粘贴你复制的公钥内容,并为密钥添加一个描述(例如“Work Laptop”)。保存密钥。

上述操作需要在git上进行,操作步骤如下图所示:
在这里插入图片描述
点击右上角选择edit profile进入该界面。

4、代码推送

设置远程仓库的 URL:

git remote set-url origin ssh://git@xxx.git

验证远程仓库的 URL:

git remote -v

你应该会看到类似以下的输出:

origin  ssh://git@222.71.182.250:1022/sage_os/open_source/api/sage_simple_interface.git (fetch)
origin  ssh://git@222.71.182.250:1022/sage_os/open_source/api/sage_simple_interface.git (push)

推送代码:

git push -u origin lizhen-C

http://www.ppmy.cn/server/123101.html

相关文章

【JavaEE】——多重锁,死锁问题和解决思路

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:加锁的“可重入性” 1:问题引入 2:问题分析 3:可重…

提升微信管理效率:自动回复功能解析

在快节奏的数字时代,高效的沟通工具对于管理多个微信账号至关重要。古人云:“工欲善其事,必先利其器”,这句话在今天依然适用。微信自动回复功能正是这样的“利器”,它能够显著提升微信管理的效率和用户体验。 自动通过…

力扣 简单 112.路径总和

文章目录 题目介绍题解 题目介绍 题解 class Solution {public boolean hasPathSum(TreeNode root, int targetSum) {// 只在最开始的时候判断树是否为空if (root null) {return false;}targetSum - root.val;if (root.left null && root.right null) { // root 是…

grafana加载缓慢解决方案

背景 目前随着数据和图表的逐渐增多,Grafana 页面加载速度明显变慢,严重影响了用户体验,几次都有骂娘的冲动.,因此我们需要对 Grafana 进行优化,以提升加载性能。 对于速度优化,我们可以从以下方面进行入…

【JavaEE】——内存可见性问题

阿华代码,不是逆风,就是我疯,你们的点赞收藏是我前进最大的动力!!希望本文内容能够帮助到你! 目录 一:内存可见性问题 1:代码解释 2:结果分析 (1&#xf…

多线程事务管理:Spring Boot 实现全局事务回滚

多线程事务管理:Spring Boot 实现全局事务回滚 在日常开发中,我们常常会遇到需要在多线程环境下进行数据库操作的场景。这类操作的挑战在于如何保证多个线程中的数据库操作要么一起成功,要么一起失败,即 事务的原子性。尤其是在多个线程并发执行的情况下,确保事务的一致性…

速盾:cdn是怎么加速视频的?

CDN(Content Delivery Network)是一种网络加速服务,通过将内容分发到全球各地的服务器节点上,提供更快速度和更可靠的内容传输。当涉及到视频内容时,CDN起到了至关重要的作用,它通过一系列的技术和策略来加…

IDEA2020运行项目时不从配置的maven仓库找jar包,从C盘默认路径下找jar包

目录 问题描述: 解决方案: 问题描述: 使用IDEA2020做java开发,idea的设置中maven仓库地址配在D盘, maven的配置文件setting.xml中的仓库也已经确认配置到D盘, 项目根据pom文件自动下载jar包时也会下载到…