前言

最近在git的使用过程中遇到了一些新的问题,所以写下来方便自己回忆。

git tag

打标签

git tag -a v1.00 -m "注释"

git tag 打标签命令 -a 添加标签 -m 添加注释

切换标签

git checkout v1.00

就像切换分支一样

但你可以在这个标签上修改代码,但是不会影响其它分支的代码,如果保存在tag代码上修改,就要创建分支,如下:

git checkout -b branch_name

提交标签

git push origin -tags

等同于git push 只不过将master改成了-tags,说明是提交标签

删除标签

git tag -d v1.00

-d delete删除标签

查看标签

git tag

.gitignore用法

简介

通常如果在git文件夹里面如果有你不想到git仓库的文件,这就需要.gitignore文件了

使用方法

.gitignore使用起来很简单,就是把你不想提交的文件名字写到.gitignore里面就行

而且支持通配符,例如:

# 忽略指定文件
HelloWrold.class # 忽略指定文件夹
bin/
bin/gen/ # 忽略.class的所有文件
*.class # 忽略名称中末尾为ignore的文件夹
*ignore/ # 忽略名称中间包含ignore的文件夹
*ignore*/

加入已经忽略的文件

如果需要加入某些已经被忽略掉的文件.需要

git add -f filename

如果某些文件意外加入到缓存中去了,需要

git rm HelloWorld.class --cached
rm 'HelloWorld.class'

git add、git commit已经添加的文件撤销

文件撤销的情况分下面三种

  1. git add文件,但是没有commit

    git status查看已经添加的文件

    git reset HEAD撤销所有已经add的文件

    git reset HEAD filename撤销已经add中的某个文件

  2. 即add又commit但是没有push的时候

    git log查看commit ID

    git reset commit_id返回提交的的节点(不加--hard是保留修改后的代码,加上--hard直接回到上次提交的状态,代码也改变)

  3. 对于已经push上去的代码

    git revert HEAD 撤销前一次 commit

    git revert HEAD^撤销前前一次 commit

    git revertgit reset不同的地方在于,reset是回到前面的版本 ,revert是提交一个新的版本,将需要revert的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。

参考文章

Git中tag的用法

git add , git commit 添加错文件 撤销

git tag、gitignore和git撤销提交的更多相关文章

  1. git 学习笔记 —— 切换和恢复提交版本( git reset/reflog/tag 命令)

    记录一下关于 git 不同提交版本间切换的操作以及如何恢复至切换之前的版本. 切换到之前提交的版本 —— git reset --hard 笔者在使用 git 时,首先接触到了一个"黑魔法& ...

  2. git tag的使用

    查看所有的标签git tag 删除某一个标签git tag -d tagName 创建带注释的标签 git tag -a tagName -m "annotate" 轻量级标签 g ...

  3. git第二节----git clone与git tag

    @git 远程克隆(clone)仓库,将远程工程clone到本地仓库:默认克隆远程master 分支 git clone  https://github.com/kaokaozhu/Test.git ...

  4. git tag介绍

    我们常常在代码发版时,使用git 创建一个tag ,这样一个不可修改的历史代码版本就像被我们封存起来一样,不论是运维发布拉取,或者以后的代码版本管理,都是十分方便的. git的tag功能git 下打标 ...

  5. git tag的用法及意义

    git tag 介绍 命令是用来给当前项目状态(在某次commit后)打标签的,目的是便于以后将项目状态回滚到当时打标签的状态.可以把它与虚拟机的snapshot(快照)进行类比. 回想当时在看< ...

  6. drone 使用git tag触发构建

    配置ref为tag .drone.yml中配置trigger为ref trigger: ref: - refs/tags/FileService 或者配置when为ref when: ref: - r ...

  7. git tag知多少

    这个命令,其实很有用,类似clearcase中的label,就是给一个版本设置一个标记(标签),方便后期查找特定的版本. tag和commit的sha1那串字符串的关系,不是很大,但是还是要说一下的. ...

  8. git使用,Git的skil-map,git配置http/https/socks5代理

    . 检出.克隆库: git clone git://git.openwrt.org/openwrt.git 2. git查看某个文件的修改历史 git log --pretty=oneline 文件名 ...

  9. git之win安装git和环境配置及常用命令总结

    12.windowns安装git和环境变量配置 11.git之常见命令总结 ===== 12.windowns安装git和环境变量配置 ; 转自 https://wuzhuti.cn/2385.htm ...

随机推荐

  1. MySQL中的严格模式

    很多集成的PHP环境(PHPnow WAMP Appserv等)自带的MySQL貌似都没有开启MySQL的严格模式,何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式.长度 ...

  2. 《深度探索C++对象模型》第二章 | 构造函数语意学

    默认构造函数的构建操作 默认构造函数在需要的时候被编译器合成出来.这里"在需要的时候"指的是编译器需要的时候. 带有默认构造函数的成员对象 如果一个类没有任何构造函数,但是它包含一 ...

  3. 带你掌握Java各种日志框架

    一:日志基本概念及框架 1:什么是日志 Java程序员在开发项目时都是依赖Eclipse/IDEA等集成开发工具的Debug调试功能来跟踪解决Bug,但项目打包部署发布到了测试环境和生产环境怎么办?难 ...

  4. CesiumJS-01 环境搭建

    CesiumJS 环境搭建 操作环境: OS:Windows 10 专业版 19042.685  64 位操作系统 1.安装Node.js (1)打开Node.js官网 https://nodejs. ...

  5. 使用Supervisord部署go应用

    nohup nohup 是后台作业的意思, nohup运行的进程将会忽略终端信号运行.即后台运行一个命令.nohup COMMAND &用nohup运行命令可以使命令永久的执行下去,和用户终端 ...

  6. MySQL是怎么保证redo log和binlog是完整的?

    摘要:WAL机制保证只要redo log和binlog保证持久化到磁盘,就能确保MySQL异常重启后,数据可以恢复. 本文分享自华为云社区<MySQL会丢数据吗?>,作者: JavaEdg ...

  7. python中time模块的调用及使用

    1 import time #通常import语句会写到代码的开头 2 3 print('------------------------') 4 print('------------------- ...

  8. k8s核心资源:精简版yaml示例

    yaml语法及格式校验 详见:https://www.cnblogs.com/uncleyong/p/15437385.html 创建资源的三种方式 参考:https://www.cnblogs.co ...

  9. 漏洞CVE 2017-8464

    概述 微软的Patch Tuesday更新发布了多达95个针对Windows.Office.Skype.IE和Edge浏览器的补丁.其中27个涉及远程代码执行,18个补丁被微软设定为严重(Critic ...

  10. 5款开源BI系统倾力推荐,企业信息化的利器

    如今的企业都在选择开源BI系统,提升企业信息化的水平.那么开源BI系统到底该如何选择?在目前的百度上面有着许许多多类似的内容,本文就整理了其中优秀的5款工具,帮助大家选择合适的软件. 1.Smartb ...