Gitlab常用命令总结汇总

news2024/9/29 19:17:59

Gitlab常用命令

本地

初始化

    • 全局变量
      • 全局配置
        • git config --global user.name "your name"  #设置全局用户名#
        • git config --global uer.email "your email"   #设置全局邮箱#
      • 版本库配置
        • git config --global color.ui true     #让Gitlab显示不同的颜色#
        • git config core.ignorecase true   #让 Git 对仓库中的字符大小写敏感#
      • ​ 查看所有的已设置的配置
        • git config -l
      • 设置默认编辑器
        • git config --global core.editor notepad++   #设置notepad++为编辑器#
      • 解决中文乱码问题
        • ls命令显示中文文件名乱码
          • 在git/git-completion.bash中增加一行
            • alias ls='ls --show-control-chars --color=auto'
        • git commit不能提交中文注释
          • 修改git/inputrc中对应的行
            • set output-meta on
            • set convert-meta off
        • 查看git log,如果乱码
          • LESSCHARSET=utf-8
        • 设置 commit log 提交时使用 utf-8 编码,可避免服务器上乱码,同时与linux上的提交保持一致
          •  git config --global i18n.commitencoding utf-8
          • git config --global i18n.logoutputencoding utf-8
    • 初始化版本库
      • git init
    • 设置忽略的文件
      • 设置每个人都想要忽略的文件
        • 在根目录建一个名为.gitignore的文本文件
          • 在命令行执行echo *.jpg>.gitignore
        • 将.gitignore文件加入版本库并提交
      • 设置只有自己需要忽略的文件
        • 修改.git/info/exclude文件
          • 可以使用正则表达式
            • 例如:*.[oa]等价于*.o和*.a
    • 添加新文件到版本库
      • 添加单个txt文件
        • git add somefile.txt
      • 添加所有的txt文件
        • git add *.txt
      • 添加所有文件
        • git add .
    • 提交
      •  git commit -m "add all txt files"

日常操作

    • 提交
      • 提交所有修改
        •  git commit -m "some msg" -a
      • 提交单个文件
        •  git commit -m "add msg to readme.txt" readme.txt
      • 增补提交
        •  git commit -C head -a  --amend
          • 不会产生新的提交历史记录
    • 撤销修改
      • 撤销尚未提交的修改
        • 撤销1~2个文件的修改
          • git checkout head readme.txt todo.txt
        • 撤销对所有txt文件的修改
          • git checkout head *.txt
        • 撤销对所有文件的修改
          • git checkout head
        • 撤销本地所有修改的, 没有的提交的内容,都返回到原来的状态 
          • git checkout .
      • 撤销提交
        • 反转提交
          • 例:反转最近一次提交
            • git revert --no -commit head
        • 复位
          • 取消暂存
            • git reset head或者git reset head <file name>
          • 复位到head之前的那个版本
            • git reset HEAD^^
          • 让版本库,暂存区的内容回退2次,工作区不变
            • git reset HEAD^^/HEAD~2
    • 分支
      • 列出本地分支
        • git branch
      • 列出所有分支
        • git branch -a
      • 检出分支
        • git checkout <branchname>
      • 基于当前分支的末梢创建分支并检出分支
        • git checkout -b <branchname>
      • 基于某次提交、分支或标签创建新分支
        • git branch emputy bfe57de0
        • git branch emputy2 emputy
      • 建立本地分支与远程分支的联系
        • git branch --set-upstream-to=origin/< branch > feture-test
          • < branch >是远程分支名,feture-test是本地分支名
      • 合并分支
        • 普通合并
          • 合并并提交
            • git merge < branchname >
              • *如果发生了冲突,就不会自动提交,如果冲突不多不想立即解决他们,可以直接使用git checkout head 撤销
          • 合并但不提交
            • git merger --no-commit
        • 压合合并
          • 压合合并后直接提交
            • git merge --squash < branchname >
          • 压合合并后但不提交
            • git merger --squash --no-commit
              • *两个人合作开发一个新功能时,需要在一个分支上提交多次,开发完成之后在压合成一次提交
        • 拣选合并
          • 挑选某次提交合并但不提交
            • git cherry-pick --no-commit 5b54b4
              • 但是要合并的提交只要比当前高2个版本,就会出现奇怪的冲突问题
      • 重命名分支
        • git branch -m < branchname > < newname >
          • *不会覆盖已存在的同名分支
        • git branch -M < branchname > < newname >
          • *会覆盖已存在的同名分支
      • 删除分支
        • git branch -d < branchname >
          • *如果分支没有被合并会删除失败
        • git branch -D < branchname >
          • *即使分支没有被合并会删除
      • 切换分支
        • git checkout &lt branchname &gt
    • 解决冲突
      • 冲突很少时
        • 直接编辑有冲突的文件然后提交即可
      • 冲突比较复杂时
        • git merge tool
          • 会生成.BACKUP, .BASE, .LOCAL和.REMOTE四个文件
          • 然后自动调用冲突解决工具
          • 解决之后手动删除.orig文件(冲突解决之前的文件备份)
          • 提交
    • 标签
      • 创建标签
        • 为当前分支最近一次提交创建标签
          • git tag 1.0
            • *标签没有重命名
        • 为A分支最近一次提交创建标签
          • git tag A_1.0 A
            • *也可以把标签命名为A/1.0
        • 为某次历史提交创建标签
          • git tag 1.0 4ed54x21
      • 显示标签列表
        • git tag
      • 检出标签
        • git checkout 1.0
          • *查看标签断面很方便的方法,但是不能提交
      • 由标签创建分支
        • git branch b1.1.1.1
        • git checkout -b b1.1.1.1
      • 删除标签
        • git tag -d 1.0
    • 查看状态
      • 当前状态
        • git status
      • 历史记录
        • git log
        • gitk
          • gitk
            • 查看当前分支历史记录
          • gitk < branchname >
            • 查看某分支历史记录
          • gitk -all
            • 查看所有分支
      • 每个分支最后的提交
        • git branch -v
    • 其他
      • 导出版本库
        • git archive --format=zip head>nb.zip
        • git archive --format=zip --prefix=nb1.0/ head>nb.zip

远程

初始化

    • 克隆版本库
      • git clone < url >
      • 克隆之后会自动添加4个config
        • remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
        • remote.origin.url=d:\\usb
        • branch.master.remote=origin
        • branch.master.merge=refs/heads/master
    • 别名
      • 添加远程版本库的别名
        • git remote add <别名>  <远程版本库的url > 
        • 添加别名后会自动添加2个config
          • remote.origin.url=d:\\usb
          • remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
      • 删除远程库的别名和相关分支
        • git remote rm < 别名 >
    • 创建一个无本地分支的库
      • git init -bare
        • *当需要一个公用的库时,可以简称bare库

日常操作

    • 分支
      • 列出远程分支
        • git branch -r
      • 删除远程库中已经不存在的分支
        • git remote prune origin
    • 从远程库获取
      • 获取但不合并
        • git fetch < 远程版本库 >
          • 例:git fetch origin (origin是远程库的默认别名)
          • 例:git fetch d:\\git\\nb
      • 获取并合并到当前本地分支
        • git pull
          • 等价于git pull origin
          • 需配置branch.master.remote=origin和branch.master.merge=refs/heads/maeter如果使用了git clone克隆远程库会自动添加这个配置
        • git pull d:\\git\\nb master
    • 推入远程库
      • git push origin master
        • *远程的master不能是当前分支

The DevSecOps Platform | GitLab

    • 生成SSH Key
      • 如果以前生成过SSH Key,要先备份
      • 生成SSH Key
      • 将SSH Key添加到Gitlab账户里
      • 免密登录
      • Gitlab配置多个ssh key
        • 可以参考此文章:https://blog.csdn.net/qq_39361915/article/details/122545320icon-default.png?t=N7T8https://blog.csdn.net/qq_39361915/article/details/122545320
      • 配置完免密登录后,仍然需要输入密码的问题
        • 可以参考文章:https://blog.csdn.net/weixin_43106956/article/details/113187629?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-113187629-blog-107946780.235%5Ev38%5Epc_relevant_sort&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-113187629-blog-107946780.235%5Ev38%5Epc_relevant_sort&utm_relevant_index=9icon-default.png?t=N7T8https://blog.csdn.net/weixin_38750432/article/details/107946780?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-107946780-blog-112100505.235%5Ev38%5Epc_relevant_sort&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-107946780-blog-112100505.235%5Ev38%5Epc_relevant_sort&utm_relevant_index=6

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/984324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

吹爆这款制作电子图册的工具,真是太绝了

近年来&#xff0c;随着互联网技术的不断发展&#xff0c;电子图册成为了一种越来越受欢迎的展示方式。然而&#xff0c;对于很多人来说&#xff0c;制作电子图册并不是一件容易的事情。幸运的是&#xff0c;现在有一款神器出现了&#xff0c;让制作电子图册变得轻而易举。 这款…

易点易动库存管理系统与ERP系统打通,帮助企业实现低值易耗品管理

现今,企业管理日趋复杂,无论是核心经营还是辅助环节,都需要依靠信息化手段来提升效率。而低值易耗品作为企业日常运营中的必需品,其管理也面临诸多挑战。传统做法效率低下,容易出错。如何通过信息化手段实现低值易耗品的高效管理,成为许多企业必顾及的一个课题。 易点易动作为…

Mac电脑怎么使用NTFS磁盘管理器 NTFS磁盘详细使用教程

Mac是可以识别NTFS硬盘的&#xff0c;但是macOS系统虽然能够正确识别NTFS硬盘&#xff0c;但只支持读取&#xff0c;不支持写入。换句话说&#xff0c;Mac不支持对NTFS硬盘进行编辑、创建、删除等写入操作&#xff0c;比如将Mac里的文件拖入NTFS硬盘&#xff0c;在NTFS硬盘里新…

【C++】详解AVL树并模拟实现

前言&#xff1a; 之前我们为了让数据存储效率提高&#xff0c;引进了二叉搜索树。 但是我们发现&#xff0c;二叉搜索树的时间复杂度还是O(N),因为二叉搜索树并不是非常的平衡。 并不是所有树都是满二叉树&#xff0c;可能出现单边书这样极端的情况&#xff0c;所以我们引进…

Compose的一些小Tips - 生命周期

系列文章 Compose的一些小Tips - 生命周期&#xff08;本文&#xff09; 前言 本系列介绍Compose的一些常识&#xff0c;了解这些tips并不会让人摇身一变成为大佬&#xff0c;但可以帮助到一些学习Compose的安卓开发者避免一些误区&#xff0c;也是对入门详解中遗漏的一个补充…

智能水表远程控制系统:引领节水新时代

随着科技的不断发展&#xff0c;物联网技术逐渐融入到我们的日常生活中。其中&#xff0c;智能水表远程控制系统成为一项重要创新&#xff0c;对于提高水资源利用率、实现绿色节水具有重要意义。下面小编就来为大家介绍下智能水表远程控制系统吧! 一、智能水表远程控制系统定义…

发现一个超级神器:免费素材共享的引领者——微信公众号的“ 素材帮帮站”

博主是做软件开发的&#xff0c;拥有10年的软件开发经验&#xff0c;奈何在这个内容为王的时代&#xff0c;软件开发行业太难混了&#xff0c;在公司的安排下&#xff0c;做一些图片设计的工作。最近发现一个超级神奇&#xff0c;免费&#xff0c;全面&#xff0c;更新迅速的微…

尺度空间和使用各向异性扩散进行边缘检测——Scale-Space and Edge Detection Using Anisotropic Diffusion

0.摘要 由Witkin引入的尺度空间技术涉及使用高斯核将原始图像与卷积以生成更粗糙的分辨率图像。这种方法有一个主要缺点&#xff1a;在粗糙的尺度上准确获取“语义上有意义”的边缘位置很困难。在本文中&#xff0c;我们提出了尺度空间的新定义&#xff0c;并引入了一类利用扩散…

把握市场潮流,溯源一流品质:在抖in新风潮 国货品牌驶过万重山

好原料、好设计、好品质、好服务……这个2023&#xff0c;“国货”二字再度成为服饰行业的发展关键词。以消费热潮为翼&#xff0c;越来越多代表性品类、头部品牌展现出独特价值&#xff0c;迎风而上&#xff0c;在抖音电商掀起一轮轮生意风潮。 一个设问是&#xff1a;在抖音…

MT9700 80mΩ,可调快速响应限流配电开关芯片

MT9700 80mΩ&#xff0c;可调快速响应限流配电开关芯片 特征 符合USB规范 集成80mΩ电源MOSFET 低电源电流 15μA典型开启状态 1μA典型关闭状态 宽输入电压Range&#xff1a;2.4V到5.5V 快速瞬态响应&#xff1a;<2μs 反向电流流阻塞 热关机保护 热插件应…

音视频FFmpeg简单理解学习,必学技术

FFmpeg是一个开源的多媒体框架&#xff0c;它包含了一个用于音频和视频编解码的库。它可以执行各种多媒体操作&#xff0c;如格式转换、视频剪辑、音频处理等。可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。 FFmpeg的结构 默认的编译会生成…

FPGA的基础架构,什么是CLB?

本原创文章由深圳市小眼睛科技有限公司创作&#xff0c;版权归本公司所有&#xff0c;如需转载&#xff0c;需授权并注明出处 CLB是指可编程逻辑功能块&#xff08;Configurable Logic Blocks&#xff09;,顾名思义就是可编程的数字逻辑电路。CLB是FPGA内的三个基本逻辑单元。C…

二叉树题目:填充每个结点的下一个右侧结点指针 II

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 解法三思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;填充每个结点的下一个右侧结点指针 II 出处&#xff1a;117. 填充每个结点的下…

“系统的UI”——SystemUI

SystemUI的实现 以StatusBar为例&#xff0c;来分析下Android系统具体是如何实现它们的。 相关代码分为两部分&#xff0c;即&#xff1a; Service部分 代码路径&#xff1a;frameworks/base/services/java/com/android/server。 应用部分 代码路径&#xff1a;frameworks…

基于云计算的区域LIS系统系统源码

在医疗机构内部&#xff0c;院内实验室主要负责本院临床科室的检验&#xff0c;院内LIS系统必须满足实验室日常的标本处理入库、仪器联机、检验结果处理、报告打印、报告发布、检验信息统计、检验信息报告发布、标本流程、外部医疗机构检验报告调阅等工作。 在医疗机构间&#…

【JUC系列-04】精通Synchronized底层的实现原理

JUC系列整体栏目 内容链接地址【一】深入理解JMM内存模型的底层实现原理https://zhenghuisheng.blog.csdn.net/article/details/132400429【二】深入理解CAS底层原理和基本使用https://blog.csdn.net/zhenghuishengq/article/details/132478786【三】熟练掌握Atomic原子系列基本…

嘉泰实业举行“互联网金融知识社区”“安全理财风险讲座”等活动

每一次暖心的沟通都是一次公益,真诚不会因为它的渺小而被忽略;每一声问候都是一次公益,善意不会因为它的普通而被埋没。熟悉嘉泰实业的人都知道,这家企业不但擅长在金融理财领域里面呼风唤雨,同时也非常擅长在公益事业当中践行,属于企业的责任心,为更多有困难的群体带来大爱的传…

【数据结构】搜索树MapSet

目录 1.搜索树 1.1概念 1.2查找 1.3插入 1.4删除 2.Map 2.1map说明 2.2TreeMap和HashMap 2.3常用方法 3.Set 3.1set说明 3.2TreeSet和HashSet 3.3常用方法 1.搜索树 1.1概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者具有以下性质&…

Linux CentOS7命令及命令行

Linux CentOS7中命令及命令行是非常重要的概念。对大多数初学者来说是既熟悉又了解甚少。本文初步讨论这方面的内容&#xff0c;与同行者交流。 一、命令 命令又称为指令&#xff0c;&#xff08;英语命令 command&#xff0c;可用简写cmd表示&#xff09;&#xff0c;在终端…

爬虫逆向实战(30)-某查查股东关联公司(HmacSHA512)

一、数据接口分析 主页地址&#xff1a;某查查 1、抓包 通过抓包可以发现数据接口是api/people/getRelatCompany 2、判断是否有加密参数 请求参数是否加密&#xff1f; 无 请求头是否加密&#xff1f; 通过查看“标头”可以发现&#xff0c;请求头中有一个key和value都是…