删除文件

假设需要从Git删除文件,我们必须从删除列表中的跟踪文件(从临时区域中删除)。然后提交。可以使用git rm工作订单完成。联合司令部从工作区删除指定的文件。以后就不会出如今未跟踪文件清单中。最后提交时,该文件不再纳入版本号管理中。

假设文件删除之前被改动过且已经放到了暂存区域中,则必须使用强制删除选项-f。以防误删文件后丢失改动的内容。另外,假设想把文件从Git仓库中删除(即从暂存区域中删除),但仍希望保留在工作区域中的文件,即仅从跟踪清单中删除时,使用—cached选项。

Git的文件的模式匹配方式

结合样例理解。$git rm log/\*.log。须要注意的是*前面的反斜杠\。Git拥有自己的文件模式扩展匹配方式,所以能够不使用shell帮忙展开匹配。不加这一反斜杠的模式是shell的文件匹配模式,加这一反斜杠的模式是Git自身的文件匹配模式。

差别在于,使用shell的文件匹配模式,只删除指定文件夹下的文件而不会递归匹配删除。假设使用Git的文件匹配模式。则会删除该文件夹及其子文件夹下匹配的文件。Git命令$git rm \*~删除当前文件夹及其子文件夹下全部以~结尾的文件。

命令git log –pretty=format:“”介绍

该命令用于格式化log输出的结果,这种输出可以便于后期编程时log的提取分析。格式样例: $git log –pretty=format:“%h- %an, %ar : %s”。以下是格式占位符写法及其代表意义:

%H       提交对象(commit)的完整哈希字符串

%h       提交对象的简短哈希字符串

%T       树对象(tree)的完整哈希字符串

%t        树对象的简短哈希字串

%P        父对象(parent)的完整哈希字串

%p       父对象的简短哈希字串

%an      作者(author)的名字

%ae      作者的电子邮件地址

%ad      作者修订日期(能够用—date=选项定制格式)

%ar      作者修订日期,按多久曾经的方式显示

%cn      提交者(committer)的名字

%ce      提交者的电子邮件地址

%cd      提交日期

%cr      提交日期,按多久曾经的方式显示

%s       提交说明

git remote命令

git remote命令用于查看当前配置中有哪些远程仓库(注意仓库和分支的差别)。在克隆完某个项目后,至少可以看到一个名为origin的远程库。Git默认使用origin来标识所克隆的原始仓库。加上參数-v或—verbose,可以显示相应的克隆地址。

Git加入新的远程仓库

使用命令git remote add [shortname] [url]。

当中。shortname是远程仓库的名字,用于标识该远程仓库。比如,$git remoteadd pb git://github.com/paulboone/ticgit.git。

从远程仓库抓取数据

使用命令$git fetch [remote-name]。该命令会从远程仓库中拉取全部你本地仓库中没有的数据。须要注意的是。fetch命令只不过将远程的数据拉到本地仓库,并不自己主动合并到当前工作分支。

假设设置了某个分支用于跟踪远程库的某个分支,则能够使用$git pull命令自己主动抓取数据,并将远程仓库的分支合并到本地仓库中的当前分支。其实,git
clone命令本质上是自己主动创建了本地的master分支用于跟踪远程仓库中的master分支。

推送数据到远程仓库

命令: git push [remote-name][branch-name],将本地branch-name分支(即仓库)上的数据推送到远程remote-name仓库中。比如,$git push origin master命令将本地master分支推送到远程originserver上。须要注意的是,仅仅有在所克隆的server上有写权限。或同一时刻没有其它人在推送数据,该命令才干运行成功。假设在推送数居前。已经有其它人推送了若干更新。则你的推送操作会被驳回。你必须把他们的更新抓取到本地。进行合并后才干再次推送。

查看远程仓库信息

使用命令: $git remote show [remote-name]。比如查看所克隆的origin仓库,$git remoteshow origin。

远程仓库的删除和重命令

命令git remote rename改动某个远程仓库在本地的简短命名。比如,$git remote rename pb paul将远程仓库在本地的简短命名pb改为paul。删除远程仓库命令git remote rm。比如,$git remote rm paul,删除远程仓库paul。

标签

Git同意对某一时间点上的版本号打上标签,用以标识该时间点上的版本号。人们在公布某个软件版本号时,便是用打标签来进行不同软件版本号的识别。

列出标签

git tag列出现有的标签;git tag –l “v1.4.2.*”用特定的搜索模式列出符合条件的标签(使用模式匹配)。

含附注的标签(annotated tag)

annotated tag是存储在仓库中的一个独立对象,有其自身的校验和信息。包括着标签的名字、电子邮件地址、日期,以及标签说明,该标签本身也同意使用GNU Privacy Guard (GPG)来签署或验证。创建annotated tag的命令: git tag –a <annotated tag name> -m <description>。

显示标签的命令: git show <tagName>。假设拥有自己的私钥,则还可用GPG来签署标签。语法为: git tag –s<tagName> -m <description>。签署标签后,再执行git
show便会看到相应的GPG签名的输出信息。

轻量级标签

轻量级标签是一个保存这相应提交对象的校验和信息的文件。创建lightweight标签的语法: git tag <tag name>。

查看轻量标签信息的命令: git show <lightweight tag name>。

验证标签

命令语法: git tag –v <tag-name>,用该命令验证已经签署的标签。该命令会调用GPG来验证签名,所以须要有签署者的公钥存放在keystring中,才干验证。

比如,$git tag –v v1.4.2.1。

后期加注标签

能够在后期对早先的某次提交加注标签。仅仅要在打标签的时候跟上相应提交对象的校验和(或前几位字符)就可以。比如,$git tag –a a1.2.9 42ce46。

分享标签

默认情况下。git push并不会把标签传送到远程server上,仅仅有通过显示命令才干分享标签到远程仓库。命令格式为: git push origin <tagname>。比如,$git push origin v1.5。

假设须要一次把全部本地新增的标签推送到远程仓库,则使用命令$git push origin –tags。

Git命令别名

用git config命令为命令设置别名。比如:

$git config --global alias.co checkout

$git config --global alias.br branch

使用这样的技术还能创造出新的命令。比如取消暂存文件输入的命令比較繁琐,则能够设置: $git config –global alias.unstage ‘reset HEAD -’。此时,$git unstage file和$git reset HEAD file当量。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Git学习笔记(两)的更多相关文章

  1. Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  2. 【转帖】Git学习笔记 记录一下

    本文内容参考了廖雪峰老师的博文,并做了适当整理,方便大家查阅. 原帖地址 https://wangfanggang.com/Git/git/ 常用命令 仓库初始化 - git init 1 git i ...

  3. GIT学习笔记(5):变基

    GIT学习笔记(5):变基rebase 变基 引入变基 在Git中整合来自不同分支的修改主要有两种方法:merge以及rebase. 整合分支最容易的方法是merge,他会把两个分支的最新快照以及两者 ...

  4. GIT学习笔记(3):分支管理

    GIT学习笔记(3):分支管理 何谓分支 GIT是如何存储数据的 GIT不是存储文件差异或者变化量,而是一系列文件的快照.在Git提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容 ...

  5. Pro Git 学习笔记

    Pro Git 学习笔记 文档地址:Pro Git原文地址:PRO GIT 学习笔记 git常见命令 1.Git起步 初次运行Git前的配置 用户信息 git config --global user ...

  6. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  7. Git学习笔记与IntelliJ IDEA整合

    Git学习笔记与IntelliJ IDEA整合 一.Git学习笔记(基于Github) 1.安装和配置Git 下载地址:http://git-scm.com/downloads Git简要使用说明:h ...

  8. Git学习笔记(10)——搭建Git服务器

    本文主要记录了Git服务器的搭建,以及一些其他的配置,和最后的小总结. Git远程仓库服务器 其实远程仓库和本地仓库没啥不同,远程仓库只是每天24小时开机为大家服务,所以叫做服务器.我们完全可以把自己 ...

  9. Git学习笔记(四)

    一.忽略特殊文件 在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件. 不需要从头写.gitignore文件,GitHub已经为我们 ...

随机推荐

  1. 程序猿学英语——In September the English learning summary

    转眼间9月份又过去了,又该好好总结一下这个月的英语学习情况了. 在暑假快结束的时候.9期师姐给我们測了英语快照.当初測的时候就发现一个问题:当測自己听过尤其是读过的东 西的时候,自己都能听出来.測自己 ...

  2. swift学习第二天:swift中的基本数据类型

    一:swift基本数据类型 Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int ...

  3. BZOJ 1695 [Usaco2007 Demo]Walk the Talk 链表+数学

    题意:链接 方法:乱搞 解析: 出这道题的人存心报复社会. 首先这个单词表-先上网上找这个单词表- 反正总共2265个单词.然后就考虑怎么做即可了. 刚開始我没看表,找不到怎么做,最快的方法我也仅仅是 ...

  4. python implementation for Qt's QDataStream(看一下QDataStream的结构)

    #!/usr/bin/env python # -*- coding: utf- -*- from __future__ import print_function from __future__ i ...

  5. 日期和时间的格式化定义(ISO C89)

    格式化定义本质上控制的是占位. 日期 %Y:4位数的年份: %y:2位数的年份: %m:2位数的月份(1-12) %d:2位数的日(01-31) 时间 %H:24小时制(0-23) %I:12小时制( ...

  6. php-post模拟登录,同步登录(摘自网络)

    这也是个老生常谈的话题了,上午花了点时间把这个问题整理了一下. 一般来说用PHP来模拟post提交数据有三种方法,file_get_contents.curl和socket. 写了个公用函数,专门用来 ...

  7. phpStudy的localhost不能访问怎么解决(相关性)

    phpStudy的localhost不能访问怎么解决(相关性) 一.总结 1.注释掉httpd.conf文件中的#ServerName localhost:80   这句话. 2.既然是localho ...

  8. Ambari——大数据平台的搭建利器(一)

    Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是**项目.目前最新的发布版本是 2.0.1,未来不久将发布 2.1 版本 ...

  9. 【b404】虫食算

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母.来看一个简单 ...

  10. Cocos2d-x 脚本语言Lua基本语法

    Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲L ...