1、关于 git pull 和 git pull origin develop 的区别
(1)两者的区别
git pull = git fetch + git merge
git pull origin develop
动作是去获取远程仓库中develop分支上的commits,然后把origin/develop merge到你目前check out下来的分支中
git pull 就是省去了指定分支,默认就是去你之前check out 的分支上去操作,比如,如果你本地的check out的分支 track的就是origin/develop,那么git pull就等于git pull origin develop
(2)深入理解
首先不建议使用 git pull 拉取代码,建议使用 git fetch + git merge来拉取代码。git pull默认是从和当前工作区的分支一样的远程分支拉取代码,例如: 当前工作区分支:dev,那么 git pull 等于 git pull origin dev. 当然有特殊情况,本地是dev分支,想从mater分支拉取代码,那么就得使用: git pull origin master,不过这种情况很少,如果有这种情况建议使用:get merge master代码分支合并。
总的来说: git pull 默认缺省值就是当前工作区的分支
(3)注意事项
注:本地新建分支, push到远程服务器上之后,使用git pull或者git pull 拉取或提交数据时会报错,必须使用命令:git pull origin dev(指定远程分支);如果想直接使用git pull或git push拉去提交数据就必须创建本地分支与远程分支的关联。本地分支如何与远程分支建立关联请参考我前面发表的博文https://blog.csdn.net/CNCDXX_88/article/details/128165838
2、git分支提交的问题:git push origin dev:dev 为什么dev后还要加一个冒号和dev呢?
(1)先说结论
git push <远程主机名> <本地分支名>:<远程分支名> 前面的是本地分支名,后面的是远程分支名,同名可以省略冒号部分
(2)再看原因
例如:对于git push origin dev:dev指令
冒号前的dev代表本地仓库的dev分支,
冒号后的dev代表远程仓库origin的dev分支;
这句话的意思就是将本地的dev分支推送到远程仓库的dev分支。 因为这里本地仓库和远程仓库的分支名一样,可以简写为git push origin dev,远程分支可以省略,默认推送到远程仓库的同名分支
3、git修改指令什么时候用?
背景:开发前期时使用的分支名不符合命名规范,后期如果修改了远端的分支名,然后我仅仅修改了本地的分支名,就理所当然地认为可以push到对应的远端分支。
解决方案:当远端分支更换或重命名之后,修改本地分支名并不是必要的,最重要的是: 修改本地分支和远端分支的关联关系
可以通过下方代码将本地分支关联到一个远端分支
//可以先通过下面命令刷新远端分支列表
git remote update origin --prune
//更换关联的远端分支
git branch --set-upstream-to=origin/远端分支名 本地分支名
4、