通常情况下,需要开发一个模块,从 master 新建立了一个 分支,newbranch,如果推送到服务器;
1:从远程 master 建立本地分支 newbranch;
git checkout -b newbranch origin/master
2:当修改完成代码,add,commit 完成后,执行 git push;
提示:
git push 的全部参数:
git push <远程主机名> <本地分支名>:<远程分支名>
1:
git push origin HEAD:master
表示将修改内容推送到远端 master 分支上,就是刚才获取代码的远端分支,和之前的远端分支是一样的,log 也在之前的基础上继续添加;
2:
git push origin HEAD // 或者: git push origin newbranch
这个表示,在远程创建一个和本地名一样的远程 newbranch 分支, origin/newbranch (如果不存在),然后将内容会push到远程服务器;
这样远程服务器会有两个分支:
git branch -r 查看
origin/master
origin/newbranch
3:
通过 git branch -vv 可以查看分支和远程分支的track关系;
4:上述 2 可能需要每次执行 那个命令,可以直接设置;
git push -u origin HEAD // -u, --set-upstream set upstream for git pull/status
同理可以通过 git checkout -vv 查看;
5:如果 查看的 本地与远端的 track 关系需要修改,
git push -u origin localBranch:originBranch
然后查看,可以看到 本地对应的远端分支 就到远端 origin/originBranch ;
也要注意 -u
标记;这是 --set-upstream
的简写,该标记会为之后轻松地推送与拉取配置分支。
或者直接修改当前Branchtrack:
可以通过 git branch -u 直接修改 本地分支 track 对应的远程分支;
- $ git branch -u origin/serverfix
- Branch serverfix set up to track remote branch serverfix from origin.
比如,本地 创建一个 masterTemp1 临时开发分支,需要提交到服务器新的远程分支,让大家共同开发用;都让应该用上面的推送分支来实现服务器远端 origin/matserTemp1 的创建;
以后可以直接简单通过 git push ;
当然也可以重新从这个新的远端分支重新创建一个本地分支,默认关联;
6:可以删除不需要的远端分支:
删除origin主机的master分支。
$ git push origin :master
# 等同于
$ git push origin --delete master
7: 自己本地 git init 一个仓库,提交到远端;
git remote add origin https://github.com/teset/test.git // origin 相当于服务器地址变量
git push -u origin master