1. 克隆多个分支代码到本地
(1)克隆yami分支的代码到本地,例如:git clone -b yami ssh://git@gitlab.xxx.com/xxx/xxx.git
git clone -b {remote_branch_name} {remote_url}
(2)查看分支和关联关系,可以看到已拉取到yami分支,且已关联了origin/yami
git branch -vv
(3)创建分支develop并切换到分支develop
git checkout -b develop
(4)pull方式拉取develop分支的代码
git pull origin develop:develop
(5)再用git branch -vv可以看到已拉取到develop分支代码,再进行本地分支关联
git checkout develop
git branch -vv
git branch -u origin/develop
2. 代码合并merge
目前在yami分支进行了开发工作,提交了x个commit
但develop分支也有其它协作者提交了y个commit,
此时yami分支落后于develop分支y个commit,
此时需要把develop分支的代码merge到yami分支
git checkout yami
git merge develop
git log
此时可以看到git log里面有develop分支提交的y个commit的信息
3. 更新Fork仓库和源仓库一致
fork到源resp仓库到自己的私有仓库resp里,存在源resp仓库存在新的变化,此时希望自己私有仓库resp能够和源resp仓库保持一致
git checkout develop
git remote add upstream ssh://git@gitlab.xxx.xxx/xxx.git
git remote -vv
git fetch upstream
git status
git branch -vv
git pull origin develop
git merge upstream/develop
git status
git log
git push origin develop
4. git push & git pull
git pull
这个命令是用来获取远程分支的更新并与本地要更新的分支合并,命令形式:
git pull <远程主机名> <远程分支名>:<本地分支名>
- git pull origin debug:master,表示取得远程的debug分支的更新,与本地的master分支合并。如果去掉后面的分支名表示更新并与当前分支合并(git pull origin debug)。
- git pull origin,表示取得与当前分支关联的远程分支的更新并合并。如果没有建立追踪关系,就会有如下提示,这个时候执行git branch –set-upstream master origin/debug即表示本地master分支与远程debug分支建立追踪关系。例外如过当前分支只有一个关联分支,那么恶业可以执行git pull操作。
git push
这个命令是用来将本地分支的更新推送到远程分支,命令形式:
git push <远程主机名> <本地分支名>:<远程分支名>
- git push origin master:debug, 表示将本地分支master的更新推送到远程分支debug上。
- git push origin master, 省略了远程分支名,表示将本地分支master的更新推送到与之关联的分支,如果分支不存在就会在远程新建一个master分支。
- git push origin :debug, 省略了本地分支名,表示将远程分支debug删除,等同于命令(git push origin –delete debug)