文章目录
  1. 1. 一、关于版本控制(GIT/SVN)
  2. 2. 二、Git使用
    1. 2.1. 概述
    2. 2.2. 使用
      1. 2.2.1. (1) 拉取代码
      2. 2.2.2. (2) 代码提交
  3. 3. 总结

一、关于版本控制(GIT/SVN)

两者都是优秀的版本管理工具

  • Git

    git是分布式:服务器和每个开发人员都拥有一个本地的代码管理仓库,进行本地的代码管理;

  • Svn

    svn集中式:只有在服务器上有一个代码管理仓库;

二、Git使用

概述

使用git进行项目管理和开发,一般情况下,会在服务端(origin)创建一个仓库进行代码的管理,仓库会维护三大块分支。

  • master分支:只有一个,作为主分支;
  • dev分支:项目当前版本的开发分支,程序员会基于此分支 来切 本地分支,进行开发。
  • 其他的分支:项目每个版本,在开发测试完成后,最终的稳定代码。每当一个版本的开发测试完成后,都会将当前版本的稳定代码合并到master分支。

  • 说明:假如在开发当前版本时,发现dev7.0.0版本线上出现了bug。此时,就可以基于dev7.0.0分支,进行修复,这是维护其它版本分支最大的好处。

使用

先安装好Git,配置好SSH,配置SSH的好处就是,本地向服务器push代码时就不用总是填写用户名和密码了,具体操作再说。

(1) 拉取代码
  • git clone 克隆代码

该命令后会在本地生成一个目录,与origin的版本库同名,目录下面包含 .git文件(默认是隐藏的),和服务器上master分支的代码(也有可能没有,因为master分支上一般没有权限获取);要注意此时是在master分支上的,可以使用 $ git branch 命令查看! 但是我们是要切dev分支上的代码!

   lvkun@PC-LVK ~
$ git clone 项目地址
  • git checkout dev1.0.0

该命令是将本地版本库(local)切换到dev1.0.0分支,建立local与origin对应分支.此分支可以直接与origin对应分支进行通信。如执行代码的上传(push)和更新(pull)操作. ps(也可以使用 $ git checkout -b dev1.0.0 origin/dev命令代替)

lvkun@PC-LVK ~
$ git checkout dev1.0.0
  • git pull

    该命令将origin/dev1.0.0分支上的代码,pull或更新到local/dev1.0.0 分支上。

    lvkun@PC-LVK ~
    $ git pull
    
  • git checkout -b 自己的开发分支(feature/项目名_功能_xxx)

该命令,基于dev1.0.0分支,创建新分支 feature/example_test_local,并切换到 feature/example_test_local分支,一定要创建新分支进行开发,决不能基于本地dev1.0.0分支开发,最后就可以将代码导入开发工具了!此时执行 $ git branch 命令应该可以看到 dev1.0.0 和feature/example_test_local 两个分支。

lvkun@PC-LVK ~
$ git checkout -b feature/项目名_功能_xxx
(2) 代码提交

分析:如果一切正常,我们目前应该是在基于本地dev1.0.0分支基础上创建的feature/example_test_local分支上,前面已经说过,本地只有dev1.0.0分支才能与服务器dev分支进行通信,执行代码的pull和push操作。那么我们要做的就是 将 feature/example_test_local分支上的代码,提交到本地dev1.0.0分支上,之后切换到dev1.0.0分支,执行push命令,就ok了!!强烈建议,最好不要将自己的feature/example_test_local这个分支推到自己的远程分之后,直接再推这个分支到远程的dev1.0.0的分支上,如果这样子操作,很可能出现代码拉取下来报错。

  • git status

此命令可以查看当前分支上有哪些文件改动了,建议首先执行一下,查看改动的文件,避免提交不需要提交的文件。如果想恢复改动的文件,执行 $ git checkout — 文件路径/文件名 。

lvkun@PC-LVK ~
$ git status
  • git add .

该命令将分支上改动的文件(即工作区改动文件),添加到暂存区,如果增加了新文件最好执行以下这个命令,否则会少上传自己新添的文件,拉取下来报错。

lvkun@PC-LVK ~
$ git add .
  • git commit -m “修改说明”

将暂存区的文件提交到版本库(dev1.0.0本地版本库)

lvkun@PC-LVK ~
$ git commit -m "xxxxx"
  • git checkout dev1.0.0

切换到本地分支 dev1.0.0

lvkun@PC-LVK ~
$ git checkout dev1.0.0
  • git pull

该命令将origin/dev1.0.0分支上的代码,更新到local/dev1.0.0 分支上。

lvkun@PC-LVK ~
$ git pull
  • git checkout feature/example_test_local

该命令切换到本地feature/example_test_local分支

lvkun@PC-LVK ~
$ git checkout feature/example_test_local
  • git rebase dev1.0.0

该命令将 dev1.0.0分支上的最新代码,合并到 本地feature/example_test_local分支上。此时很可能会遇到文件冲突的问题,需要到冲突所在的文件下手动修改,修改好后,执行 gitadd.执行 git rebase –continue,此时应该可以成功合并。

lvkun@PC-LVK ~
$ git rebase dev1.0.0
  • git push orgin head:refs/for/dev1.0.0

此命令将本地local分支上修改的代码提交到服务器上

lvkun@PC-LVK ~
$ git push orgin head:refs/for/dev1.0.0

总结

在git的使用过程中,提交到远程的dev1.0.0分支的时候,一定要保证代码没有任何的报错,否则的话,到时候大家合并的时候都报错,这是个很严重的问题。

文章目录
  1. 1. 一、关于版本控制(GIT/SVN)
  2. 2. 二、Git使用
    1. 2.1. 概述
    2. 2.2. 使用
      1. 2.2.1. (1) 拉取代码
      2. 2.2.2. (2) 代码提交
  3. 3. 总结