Git使用教程(下)

Git使用教程(下)

  • Git使用教程(下)

    • 标签管理
    • 创建标签
    • 操作标签
    • 删除关联的远程仓库
    • 自定义Git
    • 配置别名
    • 配置文件

标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针,所以,创建和删除标签都是瞬间完成的。

创建标签

打标签步骤:

  1. 首先,切换到需要打标签的分支上:

    $ git branch
    * dev
    master
    $ git checkout master
    Switched to branch 'master'
    
  2. 敲命令git tag <name>就可以打一个新标签:
    $ git tag v1.0
  3. 可以用命令git tag查看所有标签:
    $ git tag
    v1.0

默认标签是打在最新提交的commit上的。如果需要在历史的某次提交打上标签,则需要找到历史提交的commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed
5dc6824 & simple
14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt
519219b git tracks changes
e43a48b understand how stage works
1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file

比方说要对add merge这次提交打标签,它对应的commit idf52c633,敲入命令:

$ git tag v0.9 f52c633

使用git show <tagname>:查看标签信息:

$ git show v0.9
commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)
Author: qujialin <[email protected]>
Date:   Fri May 18 21:56:54 2018 +0800

    add merge

diff --git a/readme.txt b/readme.txt
...

创建带有说明的标签,用-a指定标签名,-m指定说明文字:

$ git tag -a v0.1 -m "version 0.1 released" 1094adb

注: 标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。

操作标签

  • 删除:

    $ git tag -d v0.1
    Deleted tag 'v0.1' (was f15b0dd)

    因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。

  • 推送某个标签到远程,使用命令git push origin <tagname>
    $ git push origin v1.0
    Total 0 (delta 0), reused 0 (delta 0)
    To github.com:qujialin/learn.git
    * [new tag]         v1.0 -> v1.0
  • 一次性推送全部尚未推送到远程的本地标签:
    $ git push origin --tags
    Total 0 (delta 0), reused 0 (delta 0)
    To github.com:qujialin/learn.git
    * [new tag]         v0.9 -> v0.9
  • 要删除已经推送到的远程标签:

    步骤

    1. 先从本地删除:

      $ git tag -d v0.9
      Deleted tag 'v0.9' (was f52c633)
    2. 从远程删除。删除命令也是push,但是格式如下:
      $ git push origin :refs/tags/v0.9
      To github.com:qujialin/learn.git
      - [deleted]         v0.9

删除关联的远程仓库

git remote rm origin:删除关联的远程仓库

自定义Git

  • 让Git显示颜色,会让命令输出看起来更醒目:$ git config --global color.ui true文件名就会标上颜色
  • 忽略特殊文件

    忽略文件的原则:

    1. 忽略操作系统自动生成的文件,比如缩略图等;
    2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
    3. 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。

      举例:忽略Python编译产生的.pyc、.pyo、dist等文件或目录:

      # Python:
      *.py[cod]
      *.so
      *.egg
      *.egg-info
      dist
      build

    忽略方法:

    1. GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
    2. 自己添加要忽略的文件: 在仓库下新建.gitignore文件,把要忽略的文件名添加进去,支持通配符
    3. 最后一步就是把.gitignore也提交到Git,就完成了!

    tips:

    add被忽略的文件:$ git add -f <filename>

    git check-ignore -v <filename>命令检查忽略规则:

配置别名

告诉Git,以后st就表示status,即git st就相当于git status

$ git config --global alias.st status

--global参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。

撤销修改一节中,我们知道,命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区。既然是一个unstage操作,就可以配置一个unstage别名:

$ git config --global alias.unstage 'reset HEAD'

git unstage test.py == git reset HEAD test.py

配置文件

配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。
每个仓库的Git配置文件都放在.git/config文件中

而当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig中:

$ cat .gitconfig
[alias]
    co = checkout
    ci = commit
    br = branch
    st = status
[user]
    name = Your Name
    email = [email protected]$ cat .gitconfig
[alias]
    co = checkout
    ci = commit
    br = branch
    st = status
[user]
    name = Your Name
    email = [email protected]

配置别名也可以直接修改这个文件,如果改错了,可以删掉文件重新通过命令配置。

参考链接: Git教程-廖雪峰的官方网站

原文地址:https://www.cnblogs.com/qujialin/p/12104286.html

时间: 2024-08-30 18:29:23

Git使用教程(下)的相关文章

深入学习:Windows下Git入门教程(下)

声明:由于本人对于Git的学习还处于摸索阶段,对有些概念的理解或许只是我断章取义,有曲解误导的地方还请见谅指正! 一.分支 1.1分支的概念. 对于的分支的理解,我们可以用模块化这个词来解释:在日常工作中,一个项目的开发模式往往是模块化,团队协作式的开发.这样我们项目的进度可以称得上多核并发式的开发了.这种模块化的开发要求我们尽可能的高内聚低耦合以免造成一只胳膊没了整个人都废了的局面.因此在所有的版本控制器对代码进行管理的时候都引入了分支这个概念.那么分支是什么呢? 分支是相对于主干来说的,或者

Linux培训教程 Git在linux下的使用

Linux培训教程 Git在linux下的使用  *初始化git仓库,使用git init命令 *添加文件到git仓库分两步: 1.使用git add filename ;可分多次使用,添加多个文件到暂存区 2.使用git commit -m "说明" ;完成提交到分支 兄弟连linux培训教程  Git在linux下的使用 *查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容 *HEAD指向当前版本,HEAD^表示上一

深入学习:Windows下Git入门教程(上)

一,安装Git: 1.1Linux上安装命令: sudo apt-get install git 1.2在Windows上安装Git: 使用Windows版的msysgit,官方下载地址:http://msysgit.github.io/,点击进入官网,如果官网无法正常下载我这里有当前的最新版,已经上传到CSDN上,下载地址为:http://download.csdn.net/detail/huangyabin001/7564005,点击进入下载 1.3安装完成进行配置: $ git confi

Git 使用教程

Git 使用教程 更详细请参考:廖雪峰的官方网站 - Git教程 1. 安装Git客户端软件 Git for Windows http://msysgit.github.io/ 2. 创建版本库 两点内容: 初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 第一步,使用命令git add <file>,注意,可反复多次使用,添加多个文件 第二步,使用命令git commit [-m "备注信息"],完成. 3. 时光穿梭机 要随时掌握工作区的

Git简明教程

[git教程] http://www.liaoxuefeng.com/ (廖雪峰博客) http://rogerdudler.github.io/git-guide/index.zh.html (Git简明教程) [常用命令] PS:在MacOS系统环境下的git命令. 工作流 你的本地仓库由 git 维护的三棵"树"组成. > 工作区,它持有实际文件夹. > 暂存区(Stage),它像个缓存区域,临时保存你的改动. > HEAD,它指向你最后一次提交的结果. 配置本

Git使用教程(转载)

Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器.集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了. Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是

Git配置教程

Git使用教程 github不是特别的稳定,而且英文太多难以辨别,所以使用了JD的开源git. 在我的理解来开git像是一个虚拟主机或者一个ftp服务器. 常见的端口: ftp 21tcp ssh 22tcp www 80 dns 53tcp 53udp 我们可以使用ssh命令测试链接虚拟主机 #ssh-T [email protected] 整理过程: 1.先创建本地仓库 2.把文件添加进本地仓库 3.把本地的git链接到远程的仓库 4.把本地仓库的内容上传到远程仓库的某个分支 以下教程转载于

Git简略教程

Git使用教程 厂里大部分后端应用的版本控制工具为SVN,前端代码则更习惯于Git,好久不用Git有些生疏,复习一下,效率就是生命. 1.拉取远程分支到本地 git clone + 代码地址 + 分支名称 git clone [email protected].alibaba-inc.com:xxxx/myApp.git release/tree_1 2.创建本地分支 git checkout -b <new_branch> -t <remote_branch> 3.本地分支追踪远

码云,git使用 教程-便签

Code cloud, git use tutorial - note 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:[email protected] E-mail: 313134555 @qq.com 类似这样创建一个项目 Create a project like this 在我们的工程目录下.选择 Git 在这里创建版本库 It's in our engineering catalogue .Select Git submission (C) - > "ma