1.git branch --all # 查看本地和远程的所有分支
绿色:本地仓库的分支
红色:远程仓库的分支
2.无论是在本地仓库还是远程仓库上,特别是在做项目的时候,你一般都是不会直接提交到master(主分支),都是提交到另外一个分支如dev分支.
当然在本地你可能为了方便直接在master上开发代码,但是一般最好都是另建一个分支,开发好一定的代码,再合并提交到master,最后再推送到远程仓库的dev分支(你的boss不会让你直接提交到master,因为可能还有别的同事也在开发,boss会将你们的代码进行合并然后才提交到master).
接下来来实现在本地新建一个dev分支,修改内容后提交合并到master,然后提交到远程仓库的dev
3.本地新建分支
git checkout -b dev(这个名是你新建的分支名)
新建后它会自动切换到新的分支(dev)
如何切换回到master分支呢?
git checkout master
4.现在我们回到dev分支,去修改我们的代码,看看dev 与 master 有什么变化区别
git checkout dev # 切到dev分支
5.现在回到我们原来要提交的文件夹里新建一个test.txt.
6.分别看看dev分支和master分支的情况
git status
git checkout master
git status
这时候可以看见两个分支都是可以看见我们刚才新建的文件是没有提交的.
7.这时候我们切回到dev分支去提交代码看看
git checkout dev
git add .
git commit -m '添加了test.txt’
这时候再我们原来要提交的文件夹下看看,记得我们此时是在dev分支下的
可以看到dev分支下,test.txt文件已经提交到本地仓库了
这时,我们将分支切回到master分支,再看看文件
git checkout master
看看文件夹的情况
这时候是没有test.txt文件的,因为代码只提交到了dev分支,所以在master是看不到这个文件的
8.将dev分支的代码合并到master
#注意此时是已经在master分支了,所以不用切换分支,一般你是要把code合并哪个分支,就要git checkout 到哪个分支#
git merge dev # 把dev分支的更改和master合并
9 接下来是将更改的代码推送更新到远程仓库上
git push(先不要执行这行代码)
这里是直接将本地的master直接提交到了远程的master(一般这样做你可能会被你boss diss的)(ps:这里是我操作失误了)
10、我们应该将我们的代码push到另外(通常是你的boss给定)的分支
先看看github上的分支情况
在这里是只有一个分支的,通常你的boss会给你创建一个分支给你的.
所以这里我们模拟 创建一个分支命名为dev
创建好后可以看到多了一个dev
11、 将本地的master提交到我们boss给的dev分支上
git push origin
本地要上传代码的分支名称:远程你要上传的指定分支名称
这里我们是将本地的master传到远程的dev分支上
git checkout master # 切换到主分支
git push origin master:dev # 上传
git push origin dev:dev #上传本地分支到远程分支
这里由于我第9步失误已经提交好了代码,所以就是Everything up-to-date
12.另外如果远程仓库上没有dev这个分支,我们执行git push origin master:dev命令的话,它也会帮我们自动创建这个分支,这个我们可以试试.
将dev换个名字,比如piggy
git push origin master:piggy
执行完了刷新github, 看看GitHub上的情况
可以看到上面已经多了piggy那个分支了。