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(远程名) 拉取远程分支并在本地创建一个新的分支
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
网友评论