git使用指南(3)

#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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180715G1DIWT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券