使用git工具提交代码的完整过程详解

1、涉及的命令

  • 创建分支:git branch 分支名字
  • 切换分支: git checkout 分支名字
  • 查看当前仓库的所有分支:git branch
  • 关联分支,也就是github上面的分支 以origin 180XXX 为例:
    git branch -u origin/180XXX 180XXX

2、基本概念

github源仓库:

主要包括origin master分支和origin develop分支以及其他的个人分支

  • origin master分支:从项目一开始就存在,它用于存放经过测试,已经完全稳定的代码。master分支是所有分子中最不活跃的,大概每个月或者每两个月更新一次。注:origin master分支只应该接受origin develop的合并,也就是说,origin master分支所有代码更新应该源于合并origin develop的代码。
  • origin develop分支:一开始从origin master分支中分离出来,用于开发者存放基本稳定的代码。在develop分支上解决冲突合并个人分支的代码。develop分支测试没有问题便merge到origin master分支。
  • origin 个人分支(以180XXX为例):这个给每个开发人员单独建立的个人分支,每个origin个人分支都是从origin develop中分离出来的。

本地仓库:

每个开发者将origin repository clone到本地。自己用于实现功能的本地仓库上也有local master (以下简称master 分支)和local develop(以180XXX为例) 分支。开发者本地仓库的master分支和github上origin中的develop分支关联,即 local master —> origin develop分支,本地仓库的develop分支和origin中个人分支相关联,即local develop—> origin 个人分支 相关联,即 local 180XXX分支—>origin 180XXX分支

3、开始使用

主要步骤

  1. clone远程仓库到本地(clone到本地的master是默认指向远程的master在后面需要更改关联关系)

180XXX@dq18-180XXX MINGW64 /e/gitlab/test
$ git clone [email protected]:tuwensearch/antd.git

  1. 进入本地master分支,master分支不用创建,会自动创建

180XXX@dq18-180XXX MINGW64 /e/gitlab/test
$ cd antd

  1. 查看当前仓库的master分支主要是默认指向源仓库的master分支的

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git branch -vv
* master 64548e7 [origin/master] Initial commit

  1. 因为origin master 是不能直接作为develop分支的,所以要将 local master 和 origin develop 分支进行关联,如果你要从develop上面拉取代码,也要保证 local master 和 origin develop 分支是关联的。不然只能拉取到源仓库中个人分支上的代码,而不是更新之后的代码。

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git branch -u origin/develop master

  1. 再次输入 git branch -vv 可以查看 local master 和 origin develop 已经关联

    如果有提示【origin/develop】ahead 1,behind 6 之类的信息说明 local master 和 origin develop 没有同步,使用git pull同步一下。local master 不能直接向origin develop直接push代码,只能从origin develop pull代码到local master(拉取代码)。且add 代码的时候只能是在local develop分支(180XXX分支)(提交代码)

  2. 如果你此时要拉取origin develop上面的代码,直接:
    注:切换到local master分支,pull最新的origin develop代码

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git pull

  1. 切换到local 180XXX 分支

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git checkout 180XXX

  1. 将刚才pull过的local master合并到local 180XXX(在此之前已确定将要修改的代码提交到local 180XXX分支),提示有冲突

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git merge master

  1. 使用vs工具对冲突进行修改保存

  2. 查看当前的工作区状态

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git status

  1. 添加解决冲突之后的文档(注:如果不能进行添加,进入到文件夹之后在进行添加就可以了) 如果要提交所有修改的代码可以git add .

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git add XXXX.vue

  1. 添加本次提交的注释

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git commit -m ‘备注信息’

  1. 提交代码到origin180XXX 分支

180XXX@dq18-180XXX MINGW64 /e/gitlab/test/antd(master)
$ git push

  1. 最后,再在github界面将代码由 origin 180XXX 分支提交到origin develop分支就可以了。

你可能感兴趣的:(流程)