1.建立连接

$ git remote add origin http://bo@10.81.1.167/bo/study.git

  使用git remote add <仓库名字>  <仓库地址>就可关联一个远程库,仓库名字一般都设为origin。此操作的前提是你已经在github或者gitlab上建立了你的仓库。

      2.查看远程库

$ git remote -v
origin        http://bo@10.81.1.167/bo/study.git (fetch)
origin        http://bo@10.81.1.167/bo/study.git (push)

  3.克隆仓库

$ git clone -b dev http://bo@10.81.1.167/bo/study.git

  -b是指定克隆的分支,后再加远程仓库的地址。

      4.拉取分支并合并

$ git pull origin dev

  git pull <仓库名>  <分支名>。如果只是fetch的话,就只有拉取,并没有合并。

      5.推送到远程仓库

$ git push origin dev

  git push <仓库名>  <分支名>

      6.查看远程仓库

$ git remote show origin
Password for 'http://bo@10.81.1.167':
* remote origin
  Fetch URL: http://bo@10.81.1.167/bo/study.git
  Push  URL: http://bo@10.81.1.167/bo/study.git
  HEAD branch: master
  Remote branches:
    dev     tracked
    develop new (next fetch will store in remotes/original)
    master  tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local refs configured for 'git push':
    dev    pushes to dev    (up to date)
    master pushes to master (up to date)

  从这里就可以看到远程仓库的信息,包括地址,HEAD,远程仓库分支,本地仓库的分支。

      7.查看所有分支

$ git branch -a
* dev
  master
  remotes/dev/master
  remotes/origin/dev
  remotes/origin/master

  这里是显示本地以及远程所有的分支,前面带*的表示是本地当前分支。前缀为remote的是远程分支

      8.创建本地分支

$ git branch test

  创建了本地test分支

      9.推送本地分支到远程仓库

$ git push original test

      git push <远程仓库名>  <远程仓库分支名>。

      tips:推送时,其实就是已经将本地分支去远程分支建立了联系。并且,本地分支的内容也会同步到远程仓库上。

      10.切换本地分支

$ git checkout test
Switched to branch 'test'

  11.删除分支

$ git branch -d test
Deleted branch test (was 4484696).

  这里只是删除本地分支,如果要删除远程分支,需要push一下,即可同步。

      12.远程仓库重命名

$ git remote rename original origin

  将远程仓库的名字从original改为了origin。其实这个仓库的名字只是代号而已(对于本地而言),代替的就是那个仓库的具体地址,方便我们操作,毕竟记名字比记地址好记的多。

      13.删除远程仓库

$ git remote rm origin

  其实并不是将远程仓库的内容全部删掉,而只是将本地与远程的联系切掉。相当于在本地的通讯录里面删掉了远程仓库的联系方式,本地识别不了这个远程仓库了。

      总结:其实远程与本地的联系有两种方式。一种是本地发起的,上面介绍的建立本地分支,推送到远程仓库就是具体的体现。还有一种是从远程发起的,在Gitlab或者Github上建立分支(选择了从之前的那个分支拉出来),然后在本地上通过clone获取这个新建的分支。要不然你单独的在远程建立了分支,你没有在本地clone,本地是不知道远程有这个分支的。反过来,你在本地建立了分支,你没有推送上去,那么同样的,远程也不知道。