【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→

目录

  • 1. git add .
  • 2. git commit
    • 2.1 创建commit模板
  • 4. git pull --rebase
    • 4.1 为什么要加 --rebase 呢?
    • 4.2 若不存在冲突,直接push即可
    • 4.3 若存在冲突(git rebase --continue)
      • 4.3.1 强烈建议使用VS Code
      • 4.3.2 在解决完冲突,项目运行成功之后,继续执行以下命令
      • 4.3.3 在 push 之前为什么还要执行一次 git pull --rebase?
  • 5. git push

注意:请详细看4.3存在冲突那里

1. git add .

git add . 表示将当前目录下的所有文件添加到暂存区
可以使用命令 git status 查看,绿色的文件表示已添加到暂存区,modifiled表示你修改过的文件
【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→_第1张图片

若没有进行 git add . ,直接 git status,会显示红色的modified修改文件
【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→_第2张图片

2. git commit

git commit 表示将暂存区内容添加到本地仓库中

一般往自己的仓库提交代码时,可以直接使用 git commit -m “备注自己提交代码的信息”

2.1 创建commit模板

在公司的话一般有commit模板,如何创建commit模板?

  1. 创建commit模板
    新建一个文本文档,将以下内容复制进去,保存,将其重命名为committemplate

#type feat:

#<具体描述>

#<问题单号>

# type 字段包含:
# feat:新功能(feature)
# fix:修补bug
# docs:文档(documentation)
# style: 格式(不影响代码运行的变动)
# test:增加测试
# chore:构建过程或辅助工具的变动
# subject:是 commit 目的的简短描述,不超过50个字符

  1. 设置模板路径,其中path就是commit模板路径(路径分隔符使用/或者\\
git config --global commit.template path
  1. 设置模板使用什么软件打开,一般使用记事本[notepad]
git config --global core.editor [编辑器名字]

在这里插入图片描述
注意:路径使用\而不是/,或者使用///进行转义

在进行 git commit 时就会弹出此窗口,进行这次代码提交的描述,ctrl+s保存即可

4. git pull --rebase

git pull 表示拉取远端代码,更新我们的仓库

4.1 为什么要加 --rebase 呢?

点击:请看这里→有详细的解释哦

4.2 若不存在冲突,直接push即可

如果 git pull --rebase 完了之后,最后显示:Successfully rebased and updated xxx或者Current branch xxx is up to date,表示你提交的代码和远端仓库不存在冲突,直接push就可以了。
Successfully rebased and updated xxx 表示:仓库的最近一次提交是别人提交的,但是没有冲突,直接push即可
【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→_第3张图片
Current branch xxx is up to date 表示:仓库的最近一次提交是你提交的,直接push即可
在这里插入图片描述

4.3 若存在冲突(git rebase --continue)

若存在冲突,会显示:CONFLICT合并冲突和 hin t等一些的提示信息
【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→_第4张图片那么你再次打开你的QT项目,在代码里会有<<<<和====等信息,表示代码存在冲突,需要去解决冲突

4.3.1 强烈建议使用VS Code

这里强烈建议使用VS Code,它真的很方便,可以很清晰的标记有冲突的两个文件(pull下来的文件和你本地修改的文件)的不同,代码的不同
【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→_第5张图片

4.3.2 在解决完冲突,项目运行成功之后,继续执行以下命令

  • git add .
  • git rebase --continue(执行完会出现Successfully rebased and updated xxx
  • git pull --rebase(为了避免在解冲突期间别人提交代码,此命令一定必须要在push之前执行)
  • 直到出现:Current branch xxx is up to date.,就可以push了;若不出现则表示还有冲突
  • git push
    【Git Bash】在公司你是如何向gitlab上提交代码的,请看这里→_第6张图片

4.3.3 在 push 之前为什么还要执行一次 git pull --rebase?

  • 因为在你解冲突的期间,你也不知道有没有别人向仓库提交过代码。
  • 如果你解冲突的时间很短,期间没人提交过代码,你可以直接push。
  • 如果你解冲突的事件比较长,期间又有人向仓库提交了代码,此时你解完冲突再push就会出错,因为你此刻本地的代码和远端仓库的代码是不一致的。
  • 所以,为了安全起见,在 push 之前最好进行一次 pull 操作。

5. git push

git push 表示从将本地的分支版本上传到远程仓库并合并

好了,大功告成!!!

你可能感兴趣的:(怎样高效使用Git,Bash,git,gitlab,github,gitee)