欢迎您, 来到 宁时修博客.^_^

Git提交文件到远程仓库并且打上Tag标签

2017/09/29 宁时修 php,Git 972
tag是对历史一个提交id的引用,我们在提交代码或者发布重要版本的时候都会打上tag标签用于做版本标识。

#理论部分

对git tag的理解:tag是对历史一个提交id的引用,如果能够理解这句话那么我想你已经明白tag是干嘛用的了,我们在提交代码或者发布重要版本的时候都会打上tag标签用于做版本标识。

Git 使用两种主要类型的标签:轻量标签(lightweight)与附注标签(annotated)。

一个轻量标签很像一个不会改变的分支 - 它只是一个特定提交的引用。

然而,附注标签是存储在 Git 数据库中的一个完整对象。

它们是可以被校验的;其中包含打标签者的名字、电子邮件地址、日期时间;还有一个标签信息;并且可以使用 GNU Privacy Guard (GPG)签名与验证。

通常建议创建附注标签,这样你可以拥有以上所有信息;

但是如果你只是想用一个临时的标签,或者因为某些原因不想要保存那些信息,轻量标签也是可用的。

如果你想了解关于Git更多的知识点,请点击这里

https://www.kancloud.cn/kancloud/progit/70179


#实战部分

一:首先你的获取你远程的git项目。

> git clone xxx.git #输入你远程的git仓库地址

如下图,这是我在gitee.com上面托管的项目

1.png

二:下面将演示git push新文件到远程仓库并且推送标签,我在项目中新建了a.txt文件。

4.png

1.提交文件到缓存区,执行命令

>git add . #我习惯性用"."
#解释一下git add 常用的提交方式
>git add . :提交所有文件并且加入暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
>git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
>git add -A :是上面两个功能的合集(git add --all的缩写)

2.git commit 确认提交,执行命令

>git commit -m '提交文件'

7.png

#解释一下git commit常用的提交方式

>git commit -m 'xxx'  #提交新文件必须之前要执行git add命令将文件加入缓存区
>git commit -am 'xxx' #可省略git add的操作 直接操作

打个比方如果我们前面没有执行git add . 的话,a.txt是不会加入到缓存区的,a.txt文件状态会处于untracked未跟踪状态,

未跟踪状态的文件,在你执行git commit -m的时候,是不会被提交的。

未未跟踪状态的文件,如图:

5.png

如果你想提交未跟踪状态的文件,那么必须先执行 git add 命令,将文件加入到缓存区

,之后再执行git commit -m 或 git commit -am就行。

git commit -m 和 git commit -am 到底有什么区别呢,当文件修改时,如果没有执行git add操作那么git commit -m 将无法提交修改,这个时候你就可以考虑用git commit -am 一个命令搞定了,在某个程度上来git commit -am 其实是一次执行了 git add 和 git commit

>git status #查看文件状态

已加入缓存区的文件:

6.png

3.push文件到远程仓库,执行命令

>git push origin master #推送文件到指定分支

8.png

4、查看git仓库标签

> git tag

2.png


5、创建标签并且再次查看已有标签:

> git tag -a v1.0.3 -m '这是1.0版本哦'    #创建标签并且附上标签注释

3.png

6.推送刚刚我们打上tag标签到远程仓库

>git push origin v1.0.3

9.png

7.推送成功之后,查看远程仓库的情况,已成功打上标签

文件:

10.png

 新推送的标签:

11.png


7.删除tag标签,需要执行2项

>git tag -d v1.0.3  #删除本地标签
>git push origin :refs/tags/v1.0.3  #删除远程仓库标签


8.其他关于tag命令

查看:git show v1.2
本地标签推送(所有标签)到github: git push origin --tags
推送指定标签:git push origin v1.2
注意:必须要先push文件到远程仓库之后在创建tag push到远程仓库,如果你是先创建的tag在push文件的话,那么你的Tag将记录的上一次commit提交的记录
点赞
说说你的看法

所有评论: (3)