Git拉取和提交到GitLab的命令

GitLab简介

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

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

前提

  1. 下载安装Git

  2. 在GitLab上有账号

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

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

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

拉取命令

  1. git clone + 项目地址(项目地址:在GitLab中打开项目后直接复制"Clone with SSH")
  2. git pull由于已经关联了地址,之后更新可以用git pull直接更新到最新。

提交命令

提交新项目(未初始化Git仓库)
  1. git init使用cd命令进入到工程目录下,即进入工作区,把仓库变为可管理的git仓库,得到一个.git文件夹

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

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

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

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

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

  • git checkout -b + 分支

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

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

发布了3 篇原创文章 · 获赞 0 · 访问量 1265

猜你喜欢

转载自blog.csdn.net/yy2017220302028/article/details/103992812