GitLab使用小结
对Git和GitLab的使用作一个小结
GitLab基于Git,可以作为团队开发项目使用,因此通常会有一个主分支master和其他分支,因此项目成员中任意一人不能随意push到主分支中,容易引起混乱;
但如果项目中暂时只有自己一个人,那就可以操作master分支。
- 首先在服务器或者本地的项目里搞个公钥出来
ssh-keygen -t rsa -C "your_email@example.com" #Gitlab的账户邮箱
如果在服务器上,则在主目录下,会有.ssh文件,里面应该产生了id_ras和id_rsa.pub两个文件,比如我服务器的路径是hyq/.ssh,用命令ls -a 即可查看所有隐藏文件
2. cat id_rsa.pub打开这个文件,然后复制所有内容到GitLab的Profile Settings下的SSH Keys,这样就可以建立服务器和Gitlab的无密码连接了(默认已经在Gitlab上新建项目了)
3.进入到项目目录下
git init #初始化 git add -A #把工作区文件放到暂存区,相当于缓存 git commit -m '描述' #把暂存区文件提交到分支 git remote add origin ssh://git@xx.xx.xx.xx:端口号/username/project.git #关联仓库
这里有几个要注意的地方,
- 一个是GitLab上传的东西以文本文件为主,包括py,txt,log,org,csv等等,较大的数据模型以及缓存文件等其他文件或者目录就不要上传了,
因此可以写个.gitignore文件,里面把要忽略的文件写上去,比如我的.gitignore文件:
train、test、validation是目录,里面放着数据,因此后缀是\,best.mdl、nohup.out和__pycache__是文件,直接写上去进行。
- 还有一个是万一不小心已经add了所有文件,那么这时再新建.gitignore已经来不及了,就要用以下命令
git rf --cache -A #把缓存区的文件删除,工作区的文件并不会删除
或者
git rf --cache '目录名'
对于文件来说,则是
git rm --cached '文件名'
一定要带上--cached,不然只是git rm或者git rf的话,不仅删除暂存区的文件,也把工作区的文件删除了
- 第三点,如果一开始建立的连接是http,想要变成ssh,那么必须先删除关联
git remote rm origin
然后,再建立新的关联
4. 上传项目
git push -u origin master
这里有几个要注意的地方
- 如果在GitLab上已经作了改动,比如新建了README.md文件,那么必须先pull下来,然后再push
git pull origin master
5.删除Git内容
假如不小心把本地/服务器上的一个文件夹推送到了Gitlab仓库上,且已经commit了,此时想要删除远程仓库,但不想删除本地/服务器上的文件,此时可以如下操作:
git rm -r --cached /src/MixPath_NAS #假设推送的是/src/MixPath_NAS文件夹,--cached不会把本地的MixPath_NAS删除
git commit -m 'delete /src/MixPath_NAS'
git push -u origin master
6.回滚
6.1
回滚可以让本地已经修改并commit的内容回到任意版本,只需要代码:
其中版本号通过git log查看
git reset --hard 版本号
但是要注意的是,通过一次回滚从事件n到事件n-1,要是再想回到事件n,通过git log查看发现已经找不到事件n的版本号,此时可以通过
git reflog
查看
比如v2是最新的n事件,但是通过git log只能看到“添加源代码”,此时再次
git reset --hard c298e9f
就能回滚到事件n了
6.2 git 撤销,放弃本地修改
git checkout -- filename
此命令用来放弃掉所有还没有加入到缓存区(也就是git add)的内容修改和整个文件删除
6.3 适用于撤销已经add后的本地修改
git reset HEAD filename
7.修复线上紧急bug
创建一个新的分支用于修复bug,修复完成后合并到主分支中去
GitLab使用小结的更多相关文章
- GitLab问题小结
1.内存消耗太大 (1)公司使用gitlab后,发现服务器内存居高不下,使用top命令查看内存消耗,发现服务器上git将近消耗一半内存资源.而且很奇怪的是竟然开启了32个进程.后经查资料,原来这跟gi ...
- 大揭秘| 我司项目组Gitlab Flow && DevOps流程
长话短说,本文全景呈现我司项目组gitlab flow && devops Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架. Dev ...
- Gitlab Flow到容器
一.简介 长话短说,本文全景呈现我司项目组gitlab flow && devops Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架 ...
- GitLab API使用小结
GitLab API使用小结 背景描述 需求描述: 最近因为工作上的需求,需要对GitLab进行大批量的操作,又因为服务器不在境内,所以所有的操作都需要连接VPN来进行FQ访问.目前大概有6000多个 ...
- gitlab小结
部署Gitlab环境完整记录(我用的是11版本的gitlab,为了后面不出现bug,请选择11) gitlab启用https的配置 gitlab强制修改密码 https://www.cnblogs.c ...
- Ubuntu Docker 简单安装 GitLab
相关博文: Ubuntu 简单安装 Docker Ubuntu 简单安装和配置 GitLab 服务器版本 Ubuntu 16.04 LTS. 1. 安装和配置 安装命令: sudo docker ru ...
- jenkins 设置 gitlab web hooks
背景 接口自动化期望代码push后触发实现持续集成,代码push后,自动化执行jenkins的job. 步骤 准备工作 工具:jenkins,gitlab jenkins需要安装插件:git plug ...
- gitlab svlogd runsv 基于Rotated Log的日志统计
小结: 1. 日志轮询 log roate 日志文件自动转存和重命名 2. rotated log独立于其他模块,可以以静态库或者动态库的形式支持二次开发: 3. [root@d1 ~]# gitla ...
- Linux系统搭建GitLab---阿里云Centos7搭建Gitlab踩坑
一.简介 GitLab,是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目安装. 它拥有与GitHub类似的功能,能 ...
随机推荐
- java web课堂测试
下面是web界面 <%@ page language="java" import="java.util.*" pageEncoding="UTF ...
- [Atcoder2292] Division into Two
题目大意 给定n个不同的整数,求将它们分成两个集合X,Y,并且X集合中任意两个数的差>=A,Y集合中任意两个数的差>=B的方案数. 样例输入 5 3 7 1 3 6 9 12 样例输出 5 ...
- vue启动问题(You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.)
解决vue启动出现: 在build/webpack.base.conf.js文件中,把...(config.dev.useEslint ? [createLintingRule()] : [])注释或 ...
- zrender-粒子动画
效果: let x = shuN.style.x + rectValue/4,//粒子开始的地方 y = zuY+140 + 5, h = 14*0.8, w = rectValue/2; this. ...
- setAttribute()方法和 getAttribute() 方法
一.setAttribute() 方法 setAttribute() 方法为一个或一组元素添加指定的属性,并且为其赋指定的值.(主要针对自定义属性) 如果这个属性已经存在,仅仅设置或是修改属性值. 浏 ...
- Documents.Open返回值为null
上个月出现的一个问题,将解决方法记录一下~ [问题]无法通过SAP系统外部OS命令(SM69)执行OS服务器上Powershell文件对Office文档的相关命令操作(打开文档等命令). [现象]执行 ...
- css动画速度与三次贝赛尔曲线
今天要说的是css的动画曲线. 首先要说的是语法: value: 1.linear:线性动画,也就是匀速,以相同的速度开始以相同的速度结束. 2.ease:默认的动画效果,特点是先快后慢,时间 ...
- CF G. Indie Album 广义后缀自动机+树链剖分+线段树合并
这里给出一个后缀自动机的做法. 假设每次询问 $t$ 在所有 $s$ 中的出现次数,那么这是非常简单的: 直接对 $s$ 构建后缀自动机,随便维护一下 $endpos$ 大小就可以. 然而,想求 $t ...
- 排序(sort)
1.定义 排序 所谓排序,就是要整理文件中的记录,使之按关键字递增(或递减)次序排列起来.其确切定义如下: 输入:n个记录R1,R2,…,Rn,其相应的关键字分别为K1,K2,…,Kn. 输出:Ril ...
- 1003: [ZJOI2006]物流运输
就我一开始写状压的吗? 调不过 后来发现(直接搜索)直接最短路就行了-- \(f[i]\)表示前\(i\)天最少需要多少 \(f[i] = min(f[j] + dis(j + 1, i))\) 然后 ...