git创建多分支并行开发

git多分支开发常用命令:

 ```
 git branch:查看当前本地分支
 git branch -a:查看当前所有本地分支和远程分支
 git branch devDebug:创建分支 
 git checkout devDebug:切换分支
 git checkout -b devDebug:创建分支的同时,并切换分支
git branch -d devDebug:删除本地分支
git push --delete origin devDebug:删除远程分支
git push origin devDebug:把本地dev分支提交到远程仓库,并创建了远程分支dev
git merge devDebug:合并分支devDebug到master分支
git config branch.分支名.description  “描述信息”:给分支添加描述信息
git config branch.分支名.description:查看分支描述
git checkout -b dev(本地名) origin/dev(远程名) 拉取远程分支并在本地创建一个新的分支

我们希望直接 git branch 命令获取本地分支和所有的描述,方便切换分支
添加git工具
npm i -g git-br
查看分支和描述 git br

1.使用git clone url首次从远程拉去项目

1.1使用命令git branch查看本地分支,打印如下:

 ```mac@MACdeiMac zlyjstaff % git branch
    * master

1.2使用命令git checkout -b devDebug创建一个本地分支名为devDebug,并切换到当前devDebug分支,此时就有2个分支了

   mac@MACdeiMac zlyjstaff % git branch    
  * devDebug
   master
注意:如使用git checkout master切换分支,如提示如下:
error: Your local changes to the following files would be overwritten by checkout:
ChngalaxyEmployee.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
Please commit your changes or stash them before you switch branches.
Aborting

使用命令git stash解决

  git stash:备份当前的工作区,从最近一次提交中读取相关内容,让工作区保持和上一次提交的内容一致。      
  同时,将工作区的内容保存到git栈中。

1.3把本地devDebug分支提交到远程仓库,并创建了远程分支devDebug,使用如下命令:

git push origin devDebug
注意:首次使用git push origin devDebug直接会将master分支所有代码copy到devDebug分支,不需要使用git merge master分支合并命令

devDebug分支命令创建好后,我们就可以在此分支下并行开发,不影响master重要分支,devDebug分支内容修改后,在由项目负责人(git管理员及以上权限)合并到master即可

2.在devDebug分支下开发

2.1使用命令git checkout devDebug 切换到devDebug分支,并打开项目,此时项目会自动切换到devDebug分支开发环境,如下:

 mac@MACdeiMac zlyjstaff % git checkout devDebug

使用git branch查看下切换好没 *表示当前所在分支,如下

 mac@MACdeiMac zlyjstaff % git branch    
  * devDebug
   master

2.2修改好代码后,将代码提交到远程devDebug分支,如下:

mac@MACdeiMac zlyjstaff % git status
On branch devDebug
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified:   
ChngalaxyEmployee.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
modified:   ChngalaxyEmployee/AppDelegate.m

no changes added to commit (use "git add" and/or "git commit -a")
mac@MACdeiMac zlyjstaff % git add .
mac@MACdeiMac zlyjstaff % git commit -m "更改devDebug分支代码"
[devDebug 52763d3] 更改devDebug分支代码
2 files changed, 1 insertion(+), 1 deletion(-)
mac@MACdeiMac zlyjstaff % git push

2.3将devDebug分支代码合并到master分支,如下:

2.3.1切换到master分支,如下:

git checkout master

2.3.2使用git merge devDebug合并代码,如下:

git merge devDebug

注意:如报Updating c883a32..52763d3

error: Your local changes to the following files would be overwritten by merge:

ChngalaxyEmployee.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate

Please commit your changes or stash them before you merge.

Aborting,使用git stash命令解决

2.4合并后将代码提交到远程master,使用命令git push,如提示:

mac@MACdeiMac zlyjstaff % git push
Everything up-to-date
mac@MACdeiMac zlyjstaff % git pull
error: Pulling is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
使用如下方法解决:
  mac@MACdeiMac zlyjstaff % git add .
  mac@MACdeiMac zlyjstaff % git push    
  Everything up-to-date
  mac@MACdeiMac zlyjstaff % git commit -m "s"
  [master a6ab9d8] s
  mac@MACdeiMac zlyjstaff % git status
  On branch master
  Your branch is ahead of 'origin/master' by 3 commits.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean
mac@MACdeiMac zlyjstaff % git push
Enumerating objects: 16, done.
 Counting objects: 100% (16/16), done.
Delta compression using up to 4 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 61.58 KiB | 4.40 MiB/s, done.
Total 6 (delta 4), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.2]
To https://gitee.com/zlyjstaff/zlyjstaff.git
a0994c7..a6ab9d8  master -> master
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容