工作中Git实操详解_看完这篇直接上手!

很久没有写博客了,来补一篇。

最近在工作中项目管理工具换成了Git,上一篇是SVN,那这篇就写Git吧。

首先以我所在公司所说,有测试分支develop/v2,发版分支release/发版时间,准生产分支dev,个人需求分支

  1. 接到需求之后,先在远程仓库dev分支为基点建立个人需求分支,比如feature/import_dd
  2. 接下来在本地创建远程分支feature/import_dd分支的本地同名分支
git checkout -b 本地分支名 origin/远程分支名  //将会自动创建一个新的本地分支,并与指定的远程分支关联起来

  3.在本地feature/import_dd上进行开发,开发自测后,提交需求代码:

git status //查看分支文件状态

执行过后可能会出现下面,这个问题:git未跟踪的目录

 

$ git status
On branch feature/not_import_scm
Your branch is up to date with 'origin/feature/not_import_scm'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        custer/cn.chinatowercom.crm.custmgr/eosdebug/
-------------------------------------------------------解决:-----------------------------------------------------------------

$ git clean -nfd    //查看要删除的未跟踪目录      -nfd:查看要删除的未跟踪目录,-nf:查看要删除的未跟踪文件

Would remove custer/cn.chinatowercom.crm.custmgr/eosdebug/

$ git clean -fd    //确定是要删除的未跟踪目录,执行删除    -fd:连目录都删除,-f:只删除文件
Removing custer/cn.chinatowercom.crm.custmgr/eosdebug/


$ git status     //已经删除了
On branch feature/not_import_scm
Your branch is up to date with 'origin/feature/not_import_scm'.

nothing to commit, working tree clean

 

    解决之后,执行下面命令:

git add 文件名  //添加指定文件到暂存区 

git add .  //添加所有修改过的文件到暂存区   我一般执行过 git status 看修改过的文件是否是我决定提交的需求,然后是,就执行这条命令

git commit -m "本次提交备注"

     这一过程,可能想恢复到修改前的版本,可以这样操作:

git checkout -- 文件名   //把文件的修改全部撤销,就是让这个文件回到最近一次git commit或git add或修改前的状态

    4.然后再将本地feature/import_dd提交到远程feature/import_dd,操作步骤:

/*git pull相当于git fetch、git merge操作
git fetch :把远程分支更新到本地镜像分支*/
git pull  //拉取最新远程分支feature/import_dd的文件 

/*
git push 是简写,全写是:git push origin master 将本地版本库推送到远程服务器
origin是远程主机,master表示是远程服务器上的master分支和本地分支重名的简写,分支名是可以修改的*/
git push  //提交本地分支feature/import_dd到远程feature/import_dd

      此时,本地和远程的个人需求分支内容一致。

    5.再将本地个人需求分支合并到测试分支develop/v2,操作步骤:

git checkout  develop/v2   //切换到测试分支进行合并

 git branch -a   //查看所有分支

 

    上个步骤可能会切换失败,失败原因是本地的分支信息和远程分支信息不一样,git pull 即可。

git merge  feature/import_dd  //本地需求分支文件不变,这是为了测试分支代码污染本地需求分支代码

    这一步骤,最容易出现合并冲突问题。出现冲突文件,找到冲突文件,就是别人也修改了该文件,并且提交了

<<<<<<<<HEAD

develop/v2 的内容,即是别人修改的,
===========

feature/import_dd,是你修改的

>>>>>>>>feature/import_dd

    如果别人修改的地方和自己的不影响,那你可以把你修改的,粘贴到=====上面的原修改位置,然后再把======下面的代码删除即可。

    如果有影响,就要和这个人商量如何解决了!

    在develop/v2分支修改过之后,操作:

git add .  
git commit -m "本次提交备注" 
git pull  
git push

  6.然后就可以通知测试人员,在测试分支测了。

  7.测试通过之后,再把本地feature/import_dd往发版分支合并和push即可,和步骤5一样操作。

 

              以上,是我在工作中常用的流程。

 

posted @ 2020-10-16 19:31  dd_227  阅读(233)  评论(0编辑  收藏  举报