您的位置:首页 > 其它

Git学习序列5---标签管理与Git自定义

2016-02-02 19:40 239 查看

引言

在项目版本管理中, 项目如果有一个改动相对较大的新的版本发布时, 我们通常会附加一个版本号, 比如 version 1.0, version 2.0这种形式, 在Git中, 我们可以利用标签的机制, 在版本发布的同时为版本加上标签, 这样的话, 标签其实就是一个指向commit的常指针, 我们可以创建和删除标签,但是标签的指针是不能移动, 这是需要注意的地方.

标签管理

标签的创建

在Git中, 在需要打标签的分支上(
master
分支经常需要,
dev
分支也可能需要, 一般
bug
分支就没有必要), 利用命令
git tag <name>
进行打标签, 同时也可以
-a
-m
选项为特定的标签添加标签说明信息.

我们可以使用
git tag
来查看所有的标签, 按字母排序进行展示, 如果要查看标签的详细信息, 我们可以使用
git show <tagname>
进行查看. 标签是相对于
commit
存在的, 操作的对象是某一次
commit
, 一般来说,如果某个版本需要标签标记, 我们可以在提交之后, 直接利用
git tag <name>
来加上标签, 不过, 如果我们需要为之前的版本进行标签的添加, 我们可以先找到之前版本的commit id(可以使用
git log --pretty=oneline --abbrev-commit
), 接着就可以使用命令
git tag <name> to_tag_commmit_id
进行定向打标签.

如果需要, 我们可以使用私钥对标签进行签名, 此时的签名会使用PGP签名, 此性质需要gpg支持(GnuPG), 不然会报错.

至此, 我们创建的标签都存储在本地, 如果想要推送到远程, 我们可以使用
git push origin <name>
推送特定的标签名, 可以待本地标签打完之后, 一起推送到云端, 利用命令

$ git push origin --tags


标签的删除

如果我们需要删除错误的标签, 如果标签还没有推送到云端, 我们可以使用
git tag -d <name>
进行立即删除. 如果已经推送到了云端的话, 我们需要先要从本地删除标签, 然后手动再向远程进行推送,来进行错误标签的删除, 利用命令

git push origin :refs/tags/<name>


Github与Git自定义

Github

Github是一个开源协作的社区, 我们可以利用Github免费创建公开的项目让Github进行托管.我们可以关注别人的开源项目, 并进行
fork
,
fork
操作会克隆一份开源项目到你的仓库, 你可以在开源项目的基础上进行再开发, 如果你想把你自己再开发的内容贡献到原开源项目去, 你可以在Github上发起一个pull request, 等待原作者的审核.

Git的自定义

你可以使用命令
git config --global color.ui true
来让Git的显示结果变成彩色的输出.

我们有时候会需要对工作区内特定的特殊文件进行忽略, 不进行监控, 不进行提交. 此时我们就需要进行自定义需要忽略的文件, 我们需要在工作区的根目录下创建一个特殊的
.gitignore
文件, 把需要忽略的文件名填进去(支持通配符), Git就会忽略这些文件. 同时Github考虑到这种需求的普遍性, 为我们提供了各式各样的模版 , 我们可以根据需要按需组合使用.

通常我们需要忽略

(1) 系统自动生成的文件

(2) 编译生成的中间文件, 可执行文件等等.

(3) 带有私有信息的配置文件

命令的别名

我们可以通过
git config --global alias.<other_name> <original_name>
进行别名的设定, 别名的设定可以进行普通较长命令的缩减, 还可以进行直观功能性的绑定, 例如进行暂存区的撤销更改时, 我们需要使用命令
git reset HEAD file
实现, 此时实现的就是unstage的功能, 我们可以用
git config --global alias.unstage 'reset HEAD'
来进行绑定, 对以后unstage操作命令进行简化.下面是别人对与
git log
的一个简化配置,

$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"


私有项目

Github可以免费进行公开开源项目的托管, 但是对于私有商业的项目, 就必须付费进行使用. 你可以选择交钱, 你同时也可以自己搭建一个Git服务器.这部分就不涉及了, 有需要可以参考这里

参考

廖雪峰的GIT教程
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: