#Git 标签
如果你达到一个重要的阶段,并且希望永远记住那个特别的提交快照,你可以使用git tag 给它打上一个标签。
例如,我们想为我们的runoob项目发布一个“1.0”版本。我们可以用git tag -a v1.0 命令给最新一次提交打上(HEAD)"v1.0" 的标签。
-a 选项的作用是 “创建一个带注解的标签。” 当然,这条命令不用 -a 选项也可以执行,但它不会记录这标签是啥时候打的,谁打的,也不会让你添加个标签的注解。所以我推荐一直创建带注解的标签。
$ git tag-a v1.
当你执行git tag -a v1.0 命令时,Git会打开你的编辑器,让你写一句标签注解,就像你给提交写注解一样。
现在,注意当我们执行 git log --decorate 时,我们可以看到我们的标签了:
如果我们忘了给某个提交打标签,又将它发布了,我们可以给它追加标签。
例如,假设我们发布了提交c85addb(上图实例最后一行),但是那时候忘了给它打标签。我们现在也可以给他补打一个标签:
$ git tag-a v0.985fc7e7
$ git log--oneline--decorate--graph
我们可以看到已经打上了v0.8的标签。
如果我们要查看所有标签可以使用以下命令:
$ git tag
指定标签信息命令:
git tag-a-m"runoob.com标签"
PGP签名标签命令:
git tag-s-m"runoob.com标签"
删除标签可以使用
git tag -d v0.9
查看此版本所修改的内容
git show v1.0
#Git 远程仓库(Github)
Git并不像SVN那样有一个中心服务器。
目前我们使用到的Git命令都是在本地执行,如果你想通过Git分享你的代码或者与其他开发者合作。你就需要将数据放到一台其他开发人员能够连接的服务器上。
本例中使用Github作为远程仓库。(对你没看错,就是全球最大的“同性”交友社区。。。)
远程库添加
要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,命令格式如下:
git remote add [shortname] [url]
本例以Github为例作为远程仓库,如果你还没有Github,可以在官网http://github.com/注册。
由于你的本地仓库Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以我们需要配置验证信息:
使用以下命令生成SSH Key:
后面的参数改成自己在Github上注册的邮箱即可,之后会要求确认路径和输入密码,这里默认一路回车就OK。成功的话会在 ~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制其中的key。
然后回到github上,进入Account => Settings(账户配置)
然后选择 SSH and GPG keys,然后点击 New SSH key 按钮,title设置标题,可以随便填写,粘贴在你电脑上生成的key。
成功添加后如上图。
为了验证是否成功,输入以下命令:
出现上面的一串字符说明我们已经成功在本地连接上了Github。
之后我们点击加号里面的New repository
之后我们在Repository name中填入ghost-git-test(远程仓库名),其他保持默认设置,点击“Create repository”按钮,此时就成功的创建了一个新的Git仓库:
创建成功后,将显示如下信息:
以上信息告诉我们可以从这个仓库克隆出新的仓库,也可以把本地仓库的内容推送到GitHub仓库。
现在,我们根据GitHub给的提示,在本地的仓库下运行命令:
以上命令请根据你在GitHub成功创建仓库的地方复制,而不是完全照搬我的命令,因为我们的GitHub用户名不同,仓库名也不一样。接下来我们返回GitHub创建的仓库,就可以看到文件已经上传到GitHub上:
大功告成!
# 查看当前的远程库
要查看当前配置有哪些远程库,可以使用命令:
git remote
实例:
执行时加上-v参数,你还可以看到每个别名的实际链接地址。
# 提取远程仓库
Git有两个命令用来提取远程仓库的更新。
1.从远程仓库下载新分支与数据:
git fetch
该命令执行完后需要执行git merge 远程分支到你所在的分支。
2.从远端仓库提取数据并尝试合并到当前分支:
git merge
该命令就是在执行git fetch 之后紧接着执行git merge远程分支到你所在的任意分支。
假设你配置好了一个远程仓库,并且你想要提取更新的数据,你可以首先执行git fetch [alias] 告诉Git去获取它有你没有的数据,然后你可以执行git merge [alias]/[branch] 以将服务器上的任何更新(假设有人这时候推送到服务器了)合并到你当前的分支。
接下来我们在GitHub上点击“README.md”并在线修改它:
然后我们在本地更新修改。
以上信息说明master分支已经被更新,我们可以使用一下命令将更新同步到本地:
查看README.md文件内容:
可以看到我们已经将GitHub上修改过的拉回到了我们本地的仓库。
# 推送到远程仓库
git push[alias][branch]
以上命令将你的[branch] 分支推送成为[alias]远程仓库上的[branch]分支,实例如下:
重新回到我们的GitHub仓库,可以看到文件已经提交上来了:
# 删除远程仓库
git remote rm [别名]
实例:
以上实例我先添加了一个origin2这个新仓库,之后又把它删掉了。
yi
领取专属 10元无门槛券
私享最新 技术干货