首页 > 编程知识 正文

gitlab操作,gitlab功能介绍

时间:2023-05-04 15:18:51 阅读:236384 作者:627

GitLab简介
GitLab是类似于GitHub的仓库管理系统,和GitHub一样,它能够提交/拉取代码,不同的是,GitLab可以部署在自己服务器上,数据库等信息是自己掌握的,适合团队内部协作开发。可以理解为个人版本的GitHub。

记录一下Git拉取 和提交文件到GitLab的命令。

前提
下载安装Git

在GitLab上有账号

更改Git Bash的起始位置:右键属性,改为自定义文件夹workspace,作为本地git仓库

在GitLab上配置SSHKey。目的是使客户端和服务端建立信任,每次操作就不需要再重复输入密码。
具体操作: 首先需要在电脑上生成SSHKey,使用命令:
ssh-keygen -t rsa -C “xxx@xxx.com”(引号内填自己的邮箱)一路默认回车,最后就在.ssh目录下得到了两个文件:id_rsa(私有密钥)和id_rsa.pub(公有密钥),把id_rsa.pub的内容复制到GitLab的SSH key中。

上述命令和以下所有命令均在GIt Bash中执行。

拉取命令
git clone + 项目地址(项目地址:在GitLab中打开项目后直接复制"Clone with SSH")
git pull由于已经关联了地址,之后更新可以用git pull直接更新到最新。
提交命令
提交新项目(未初始化Git仓库)
git init使用cd命令进入到工程目录下,即进入工作区,把仓库变为可管理的git仓库,得到一个.git文件夹

git add .将仓库下的所有内容添加到暂存区,如果只是个别内容就把“.”改为文件名

git commit -m "注释内容"将暂存区的内容提交到本地版本库。(参数-m很重要)

git remote add origin + 远程仓库的地址(在GitLab上复制项目地址)把本地仓库和远程仓库关联
如果出现 fatal:remote origin already exists
那么输入命令:git remote rm origin
然后再重复:git remote add origin + 远程仓库的地址

git push -u origin master把当前分支master推送到远程仓库。参数-u的意思是,只要本地做了提交,以后就可以直接用git push代替原命令进行推送

普通提交(已初始化Git仓库)
git add .添加到暂存区(特别是工作区有新文件的时候必须要先添加到暂存区)
git commit -m "注释内容"会对修改的文件进行注释,提交到版本库
git push由于第一次关联过地址,所以不用再执行上述第四步,直接推送到GitLab
提交到分支
使用IDEA提交/拉取:右键Git–>Commit File–>Repository–> push/pull;
使用IDEA切换分支

git checkout -b + 分支

遇到的问题
fetch first
fetch first
这个问题是说远程仓库的版本和本地仓库不一致,要先fetch first,但是fetch比较麻烦,我选择用git pull拉取最新版本merge到本地,命令如下:
git pull --rebase origin + 分支

non-fast-forward
non-fast-forward
错误原因:文件冲突。远程仓库和本地仓库文件数量不一致(远程仓库有的文件在本地仓库中没有,或者不是在远程仓库文件基础上修改的。)这个时候就强制push就对了:
git push origin + 分支 -f

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。