之前不懂什么是远程分支&本地分支、什么又是远程仓库&本地仓库,所以感觉理解git很迷糊。
现在理解就是远程仓库就是存在云(或者服务器)上的那个仓库(repo),它会有个地址,可能就是origin
然后我clone从origin,把这个远程仓库下载下来,就是copy了一个本地仓库,copy下来的时候和远程仓库(repo)完全一样。
(一共就两个仓库,远程仓库就是所有人都能clone的,一个是本地仓库,就是clone到本地的,分支到是有很多)
所以这个时候用git branch -a查看,会看到origin/dev1、origin/dev2、origin/dev_x,应该是把分支也copy下来了。
然后这个时候,我要开发自己的代码,不在master上直接写,又不能祸害别人的分支,所以我就创建一个我自己的分支,
git checkout -b mybranch (这个会创建并进入mybranch分支)
进入之后,可以git branch -a 看一下 之后mybranch分支(也就是本地分支),没有origin/mybranch(也就是没有远程分支)
这时候好像也没什么问题,不过不能push到远端分支,因为ddd没有对应的origin/mybranch分支,但是好像没什么影响,如果你只想最后依靠master 去merge然后push的话。
不过大家都会要创建一个远程分支,暂时我也不知道为什么(难道是为了时不时让别人在远端看一下你的代码?反正我觉得目前在公司,在mybranch里面普通的push,好像只是为了暂时在远端分支存一下代码,然后给别人CR一下,普通的push就是git push origin mybranch:mybranch == git push mybranch == git push)
把自己的本地分支推到远程分支,就用git push origin mybranch:mybranch, 或者你直接push一下,系统会提示你用git push --set-upstream origin mybranch也能创建,反正创建的方法很多。
不过git push origin xxx:yyy 这个方法,倒是可以用来做别的事情。
git push orgin xxx:yyy;
(git push <远程主机名> <本地分支名>:<远程分支名>)
把xxx分支的提交,推送到yyy分支上
然后再yyy分支可以pull一下,就看到了
{
git push == git push origin dev:dev
就是把dev从本地分支推送到dev的远程分支
}
/**
目前先理解到这里
至于处理一些冲突之类
或者深入了解之后有什么变化
以后再改改
*/