git从已有分支拉新分支开发
开发过程中经常用到从master分支copy一个开发分支,下面我们就用命令行完成这个操作
1. 切换到被copy的分支(master),并且从远端拉取最新版本
1 | git checkout master |
其中git pull 标准或完整的命令是git pull remote_repository_name branch_name,他们执行效果都一样所以省略写。
2. 从当前分支拉copy开发分支
1 | git checkout -b dev |
3. 把新建的分支push到远端
1 | git push origin dev |
4. 拉取远端分支
1 | git pull |
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.git pull
If you wish to set tracking information for this branch you can do so with:
git branch –set-upstream-to=origin/
dev 经过验证,当前的分支并没有和本地分支关联,根据提示进行下一步:
5. 关联
1 | git branch --set-upstream-to=origin/dev |
注意:这里branch之后都是没有空格的,如果有空格则是错误命令。
看评论这里有歧义,branch命令后面没有空格是说–set-upstream-to=origin/dev 这一窜命令都是连续的,中间没有空格。
6. 再次拉取 验证
1 | git pull |
OK 到此搞定 结束!
1、从远程拉取分支到本地(当远程已经有分支的时候可以这样用)
1 | git checkout -b 本地分支名x origin/远程分支名x |
2、提交本地test分支作为远程的test分支(合并分支后可以用)
1 | git push origin test:test // 提交本地test分支 作为远程的test分支 |
7. 总结
其实在git中要注意如下几点:
第一点就是分支:
git因分支而强大,所以要理解git中的分支,我们在一个远程服务下可以拉多个分支,比如生产主分支、测试分支、每个人的开发分支。
第二点就是本地和远程:
当我们在本地建了一个新分支有,还要把新分支推到远程也就是在远程建立一样的一个分支。所以我们在本地和远程建立分支后还要把他们关联起来,这样才有意义!!!
第三点 git远程服务和git远程分支:
某一个或某几个分支是在一个服务下的,就好比A项目在远程的服务是a那么在a服务下我们可以创建 master、test、dev多个测试分支。其实一个远程服务就是一个project因为在github或gitlab都是创建project。
第四点 当我们从master分支上拉开发分支:
我们在自己的开发分支上pull的时候会吧别人提交到master分支的代码回pull下来,而push的时候还是提交到了自己的开发分支,除非你把自己的开发分支合并到了master分支上。
Use this card to join the candyhome and participate in a pleasant discussion together .
Welcome to aqing's candyhome,wish you a nice day .