<
github远程库
>
上一篇

JS中的正则表达式
下一篇

git分支学习笔记

关联github远程库

前言

github是一个开源协作平台,也可以作为免费的远程仓库,这一篇主要记录关联github远程库的各种操作,由于我是在windows系统下进行操作的,所以以下操作均已windows为基准

创建SSH KEY

推送仓库

有两种方式可以操作:

查看远程分支

git remote 显示远程仓库分支,如上面的推送仓库的master主分支会显示origin关联名

git remote -v可以显示更详细的远程库分支

删除远程关联

git remote rm origin删除名为origin的远程库关联

提交本地内容至远程库

git push origin master将本地master的分支提交到远程库上

远程库分支

克隆远程分支

远程库默认clone下来的只有master主分支,clone其他分支命令如下:

git checkout -b dev origin/dev

clone远程的dev分支,并新建到本地dev分支库中

提交分支到远程库

如果和远程库分支版本不同,就需要先拉取,而拉取远程分支到本地需要指定链接

git branch --set-upstream-to=origin/dev dev

将本地分支dev与远程dev分支链接,然后git pull拉取更新下来

如果本地当前分支名在远程库不存在时,push会在远程生成一个新的分支,避免这个情况可以指定分支:

git push origin HEAD:dev

将当前分支提交到远程库的dev分支中,HEAD指向当前分支

查看本地分支和远程分支链接情况
$ git branch -vv
master 3caa59 [origin/master] 'xxxxxx'

返回的内容为当前本地分支的列表信息,内容分别为:

master分支名、3cass59分支的id、[origin/master]链接的远程库分支、'xxxxxx'上一次commit的描述

rebase

将版本分支修改成一条直线,当远程的仓库有更新时,本地无法直接提交,需要先拉取下来,之后查看log会发现基于上一个版本之后,提交历史分叉了,因为远程拉取下来的分支是基于上一个版本的,本地修改的内容也是基于上一个版本

* 本地版本
|\
| -拉取版本
|/
*上一版本

通过git rebase可以将本地版本的修改改为不在基于上一版本,而且基于刚刚拉取下来的版本

*本地版本
*拉取版本
*上一版本

标签

当需要寻找指定版本时,commit id十分难记,可以通过给版本添加标签便于寻找

查看标签

git tag 命令可以查看所有的标签,返回列表不是按时间顺序,而且按字母顺序的

git show tagname命令可以查看指定标签名的标签信息

创建标签

先进入需要打标签的分支git checkout dev,此处切换到dev分支

git tag v1.0
git tag -a v1.0 -m 'version 0.1'

第一条添加的时一个v1.0的版本

第二条添加一个带有描述的标签,-a 'xxxx'为标签名称,-m 'xxxxx'为描述信息

给以前的commit添加标签

删除标签

git tag -d v1.0删除标签为v1.0的标签

删除远程库的标签,必须要先在删除本地的那个标签

git tag -d v1.0
git push origin :refs/tags/v1.0

推送标签

默认情况下,标签存在本地,不会被推送到远程库,如果要推送到远程:

git push origin v1.0
git push origin --tags

第一条推送v1.0的标签到远程

第二条推送所有未被推送过的本地标签到远程

Top
Foot