gitlab使用小结

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

1、 克隆仓库

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

bash 复制代码
git clone git@gitlab.example.com:username/repository.git

2、 添加远程仓库

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

bash 复制代码
git remote add origin git@gitlab.example.com:username/repository.git

3、 推送代码

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

bash 复制代码
git push -u origin branch_name

4、 拉取代码

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

bash 复制代码
git pull origin branch_name

一般情况下也可以使用:

bash 复制代码
git pull

拉取最新的代码

5、创建新分支

在本地创建一个新分支:

bash 复制代码
git checkout -b new_branch_name

6、切换分支

切换到已有的分支:

bash 复制代码
git checkout branch_name

7、合并分支

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

bash 复制代码
git checkout target_branch
git merge source_branch

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

8、查看分支

查看所有分支:

bash 复制代码
git branch -a

9、删除分支

删除本地分支:

bash 复制代码
git branch -d branch_name

删除远程分支:

bash 复制代码
git push origin --delete branch_name

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

10、查看提交历史

查看提交历史:

bash 复制代码
git log

11、创建标签

创建一个标签:

bash 复制代码
git tag tag_name

12、 删除标签

删除本地标签:

bash 复制代码
git tag -d tag_name

删除远程标签:

bash 复制代码
git push origin --delete tag_name

13、查看远程仓库

查看所有远程仓库:

bash 复制代码
git remote -v

14、添加文件

将文件添加到暂存区:

bash 复制代码
git add file_name

15、提交更改

提交暂存区的更改:

bash 复制代码
git commit -m "commit message"

16、查看状态

查看当前仓库的状态:

bash 复制代码
git status

17、撤销更改

撤销工作区的更改:

bash 复制代码
git checkout -- file_name

撤销暂存区的更改:

bash 复制代码
git reset HEAD file_name

18、撤销提交

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

bash 复制代码
git reset --soft HEAD~1

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

bash 复制代码
git reset --hard HEAD~1

19、查看差异

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

bash 复制代码
git diff

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

bash 复制代码
git diff --cached

20、重命名分支

重命名本地分支:

bash 复制代码
git branch -m old_branch_name new_branch_name

21、查看远程分支

查看所有远程分支:

bash 复制代码
git branch -r

22、获取远程分支

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

bash 复制代码
git checkout -b local_branch_name origin/remote_branch_name

23、设置用户名和邮箱

bash 复制代码
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

24、查看配置

查看全局配置:

bash 复制代码
git config --global --list

25、设置默认分支

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

bash 复制代码
git config --global init.defaultBranch main

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

bash 复制代码
git init
git remote add origin http://xxxx/bag.git
git add .
git commit -m "xxxx"
git push -u origin master

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

bash 复制代码
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 密钥,可以使用以下命令生成:

bash 复制代码
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 命令:

bash 复制代码
ssh-keygen -t rsa -b 4096 -C "xxx"

接受默认路径:

bash 复制代码
Enter file in which to save the key (/home/zhangxingsheng/.ssh/id_rsa):

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

设置密码(可选):

bash 复制代码
Enter passphrase (empty for no passphrase):

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

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

bash 复制代码
Enter same passphrase again:

再次输入相同的密码。

生成密钥对:

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

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

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

查看公钥内容:

bash 复制代码
cat ~/.ssh/id_rsa.pub

复制公钥内容:

bash 复制代码
将输出的公钥内容复制到剪贴板。

添加公钥到远程仓库:

登录到远程仓库的管理界面(例如 GitHub、GitLab 等)。

找到 SSH 密钥管理页面,通常在账户设置或项目设置中。

点击"添加 SSH 密钥"或类似的按钮。

粘贴你复制的公钥内容,并为密钥添加一个描述(例如"Work Laptop")。

保存密钥。

上述操作需要在git上进行,操作步骤如下图所示:

点击右上角选择edit profile进入该界面。

4、代码推送

设置远程仓库的 URL:

bash 复制代码
git remote set-url origin ssh://git@xxx.git

验证远程仓库的 URL:

bash 复制代码
git remote -v

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

bash 复制代码
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)

推送代码:

bash 复制代码
git push -u origin lizhen-C
相关推荐
viperrrrrrrrrr733 分钟前
大数据学习(40)- Flink执行流
大数据·学习·flink
超级阿飞5 小时前
利用Kubespray安装生产环境的k8s集群-实施篇
elasticsearch·容器·kubernetes
Ase5gqe10 小时前
大数据-259 离线数仓 - Griffin架构 修改配置 pom.xml sparkProperties 编译启动
xml·大数据·架构
史嘉庆10 小时前
Pandas 数据分析(二)【股票数据】
大数据·数据分析·pandas
唯余木叶下弦声11 小时前
PySpark之金融数据分析(Spark RDD、SQL练习题)
大数据·python·sql·数据分析·spark·pyspark
重生之Java再爱我一次12 小时前
Hadoop集群搭建
大数据·hadoop·分布式
豪越大豪13 小时前
2024年智慧消防一体化安全管控年度回顾与2025年预测
大数据·科技·运维开发
互联网资讯13 小时前
详解共享WiFi小程序怎么弄!
大数据·运维·网络·人工智能·小程序·生活
小诺大人14 小时前
Docker 安装 elk(elasticsearch、logstash、kibana)、ES安装ik分词器
elk·elasticsearch·docker
AI2AGI15 小时前
天天AI-20250121:全面解读 AI 实践课程:动手学大模型(含PDF课件)
大数据·人工智能·百度·ai·文心一言