01、已经有origin远程仓库,再通过git remote add teamone git://git.team1.ourcompany.com添加另外一个远程仓库(只添加了仓库,本地并无其分支数据)
02、拉取远程git fetch teamone,由于第二个远程仓库,只是第一个仓库的子集,所以只加了1个远程跟踪分支
03、将本地master推送到远程分支
$ git push origin master------>等价于$ git push origin refs/heads/master : refs/heads/master 或等级于 $ git push origin master : master (将本地的master分支,推动到远程master分支)
$ git push teamone master
$ git push origin master : <remote-name> (将本地master分支推送到origin仓库,分支名改为remote-name)
04、拉取远程分支
$ git fetch origin (仅拉取远程仓库,本地无此远程分支工作分支)
$ git merge origin/<branch-name> (将远程仓库分支合并到当前工作分支)
$ git checkout -b <local-branch> origin/<remote-branch> (创建本地工作分支,并跟踪远程分支)
05、修改跟踪的远程分支
$ git branch -u origin/<remote-branch> (添加/修改本地分支跟踪的远程分支,可将本地dev分支,改到跟踪远程master分支)
06、查看本地分支跟踪的远程分支
$ git branch -vv
iss53跟踪远程origin/iss53,且本地2次提交没推送到远程分支
master跟踪远程origin/master,且和远程同步
serverfix跟踪远程teamone/server-fix-good,3次提交未更新,远程1次提交未合并到本地
testing未跟踪远程分支
上述所有信息,都来自本地缓存的远程仓库,并未和远程仓库通信。
若要查看最新的,$ git fetch --all; git branch -vv
07、git pull
由于git fetch仅从远程拉取数据,并不会合并到本地工作目录。
$ git pull (从当前工作分支跟踪的远程分支拉取数据,并合并到当前工作分支。等价与 $ git fetch; $ git merge)
08、删除远程分支
$ git push origin --delete serverfix (服务器仅移除此指针,Git服务器会保留一段时间知道垃圾回收运行。所以误删很容易恢复)
原文:https://www.cnblogs.com/geniushuangxiao/p/12678443.html