热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

gitlab使用过程中的需求与解决

序言在git使用过程中发现指令实在太多,就算记忆后不长用的话很快也会忘记掉,所以编写本文的初衷是为了记录在使用git指令的过程中所遇到的需求与解决方法&

序言

  在git使用过程中发现指令实在太多,就算记忆后不长用的话很快也会忘记掉,所以编写本文的初衷是为了记录在使用git指令的过程中所遇到的需求与解决方法,毕竟使用git的需求也就那么一些,范围不大,所以可以将需求与解决方法记录下来,下次使用时遇到相同需求如果忘记了也可以得到快速解决

 

需求1

描述:

在git中生产SSH key

扩展:

由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。

步骤:

第1步:创建SSH Key。在windows下查看[c盘->用户->自己的用户名->.ssh]下是否有id_rsaid_rsa.pub文件,如果没有需要手动生成。
打开git bash,在控制台中输入以下命令。

ssh-keygen -t rsa -C "guimashusheng@126.com"

密钥类型可以用 -t 选项指定。如果没有指定则默认生成用于SSH-2的RSA密钥。这里使用的是rsa。同时在密钥中有一个注释字段,用-C来指定所指定的注释,可以方便用户标识这个密钥,指出密钥的用途或其他有用的信息。所以在这里输入自己的邮箱或者其他都行。输入完毕后程序同时要求输入一个密语字符串(passphrase),空表示没有密语。接着会让输入2次口令(password),空表示没有口令。3次回车即可完成当前步骤,此时[c盘>用户>自己的用户名>.ssh]目录下已经生成好了。

第2步:登录github。打开setting->SSH keys,点击右上角 New SSH key,把生成好的公钥id_rsa.pub放进 key输入框中,再为当前的key起一个title来区分每个key。

 

 

需求2

描述

将远程仓库上的文件同步到本地

步骤

git clone git@gitlab.com:zhazhanitian/sl-background-sound.git

 

 

需求3

描述

将本地文件push到远程仓库上

步骤

进入到需要提交的文件所在目录,然后Git bath here,输入如下指令:

# add后跟空格加一点会将该目录下的所有文件添加至上传列表,若需上传指定文件只需将点改为指定文件的名称带后缀
git add . git commit -m "提交描述"# 如果文件所在的本地仓库和远程仓库从未连接过需要输入下面语句将本地与远程联系上
git remote add origin git@gitlab.com:zhazhanitian/sl-background-sound.git# 将文件提交到主枝上
git push -u origin master

  

 

需求4

描述

为版本打tag

步骤

进入到项目根目录,然后Git bath here,输入如下指令

# 查看历史tag
git tag# 查看git的相关tag操作
git tag -h# 添加版本tag 其中v1.0.0为tag名称
git tag -a v1.0.0 -m "版本tag描述"# 将本地tag推送到远程上 其中的v1.0.0就是上面的tag名称
git push origin v1.0.0

 

 

需求5

描述

  在网页上面新建项目后,完成初始化操作

步骤

  进入到需要提交的文件所在目录,然后Git bath here,输入如下指令:

# 下载文件到本地
git clone git@gitlab.com:zhazhanitian/fileStorage.git# 进入文件目录
cd fileStorage# 新建README文件
touch README.md# 添加README文件到提交列表
git add README.md# 提交说明
git commit -m "add README"# 提交文件到主枝
git push -u origin master

  

 

需求6

描述

  本地已有相关文件夹,在网页上面新建项目后,将本地文件推送到服务器

步骤

  进入到需要提交的文件所在目录,然后Git bath here,输入如下指令:

# 进入已有的本地文件目录
cd existing_folder# 初始化git到本目录
git init# 本地与远程取得联系
git remote add origin git@gitlab.com:zhazhanitian/fileStorage.git# 添加文件的推送列表
git add .# 提交说明
git commit -m "Initial commit"# 推送到主枝
git push -u origin master

 

 

需求7

描述

  预览打包项目(gh-pages)

步骤

  进入到需要提交的文件所在目录,然后Git bath here,输入如下指令:

# 进入项目目录 Emoji-ChatRoom,注意这里的项目名称得和远程相同,不同的话反正我是没有上传成功过
cd Emoji-ChatRoom# 初始化git到本目录
git init# 取消dist文件过滤,.gitignore文件中删除dist(重要步骤)# 本地与远程取得联系
git remote add origin https://github.com/zhazhanitian/Emoji-ChatRoom.git# 添加文件的推送列表
git add -A# 提交说明
git commit -m "init file"# 推送到主枝
git push -u origin master# 把 dist 目录推送到 gh-pages 分支
git subtree push --prefix dist origin gh-pages# 然后通过 https://zhazhanitian.github.io/Emoji-ChatRoom 就可以访问了

 

 

需求8

描述

       查看本地分支、查看远程分支、新建本地分支、推送本地分支到远程、切换分支、删除本地分支、删除远程分支

步骤

       进入到项目根目录,然后Git bath here,输入如下指令

# 查看本地分支
git branch# 查看所有分支,包括远程,remotes为远程分支
git branch -a# 新建本地分支
git branch newbranch# 新建本地分支并切换
git checkout -b newbranch# 推送本地分支到远程
git push origin newbranch# 切换分支
git checkout master# 删除本地分支 (要切换出要删除的分支才可以删除)
git branch -d newbranch# 删除远程分支 方式1
git push origin --delete newbranch# 删除远程分支 方式2
git push origin :newbranch

 

 

需求9

描述

  fetch更新本地仓库(更新远程代码到本地)

步骤

  进入到需要提交的文件所在目录,然后Git bath here,输入如下指令:

# 方法一# 从远程的 origin 仓库的 master 分支下载代码到本地的 origin master
git fetch origin master # 比较本地的仓库和远程参考的区别
git log -p master.. origin/master# 把远程下载下来的代码合并到本地仓库,远程的和本地的合并
git merge origin/master# 方法二# 从远程的 origin 仓库的 master 分支下载到本地并新建一个分支 temp
git fetch origin master:temp # 比较 master 分支和 temp 分支的不同
git diff temp # 合并 temp 分支到 master 分支
git merge temp# 删除 temp
git branch -d temp

 

 

问题1

描述

  The file will have its original line endings in your working directory.

原因

  原因不一,大体是因为使用拷贝的方式迁移文件或者从别人的仓库下载文件后想要上传到自己的仓库而出现的问题

步骤

  出现上述bug后,接着输入如下指令:

# 删除缓存
git rm -r --cached .# 解决系统不同的冲
git config core.autocrlf false# 接着重新执行上传操作
git add ....

 

 

补充

知识1

# git add上传本地项目所有变化的命令三种有git add -Agit add -ugit add .git add -A 提交所有变化git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

 

转:https://www.cnblogs.com/zhazhanitian/p/9372646.html



推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • GSIOpenSSH PAM_USER 安全绕过漏洞
    漏洞名称:GSI-OpenSSHPAM_USER安全绕过漏洞CNNVD编号:CNNVD-201304-097发布时间:2013-04-09 ... [详细]
author-avatar
Eliza
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有