安装过程省略...

  至于安装目录的有关功能,略过...

  关于初次使用的关键配置命令:

  1、配置基本信息,该信息将保存在该用户目录下的.gitconfig文件内

配置用户信息
$ git config --global user.name "xxx"
$ git config --global user.email xxx@example.com 配置文本编辑器与差异分析工具
$ git config --global core.editor xxx
$ git config --global merge.tool xxx 查看该配置文件所有配置信息
$ git config global --list

如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。  

  2、关于仓库的创建、克隆与更新

在工作目录初始化新仓库
$ git init 从已有仓库克隆项目
$ git clone [url] [newname] 检查当前文件状态
$ git status 跟踪新文件(纳入版本控制)
$ git add xxx
(这是个多功能命令,根据目标文件的状态不同,此命令的效果也不同:
可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能
用于合并时把有冲突的文件标记为已解决状态等) 提交更新
$ git commit
$ git commit -a  (可以跳过git add步骤)
$ git commit -m "xxx"

  3、对文件的操作

忽略某些文件(我们需要新建一个.gitignore文件,列出要忽略的文件模式),规格如下:
  • 所有空行或者以注释符号  开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式匹配。
  • 匹配模式最后跟反斜杠(/)说明要忽略的是目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

  举个栗子:

# 忽略所有 .a 结尾的文件 
*.a # 但 lib.a 除外
!lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO # 忽略 build/ 目录下的所有文件
build/ # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt # 忽略 doc/ 目录下所有扩展名为 txt 的文件
doc/**/*.txt

  我们查看哪些文件被修改过可以通过git status来查看,但是如果查看具体修改了哪些可以:

查看哪些地方做了怎样的修改
$ git diff 查看已经暂存起来的文件和上次提交时的快照之间的差异
$ git diff --cached

  注意,单单 git diff 不过是显示还没有暂存起来的改动,而不是这次工作和上次提交之间的差异

  对文件的移除,分两种情况:

如果只是对该文件取消跟踪
$ git rm --cached xxx
$ git rm -f --cached xxx (强制)
$ git rm -r --cached xxx  (用于目录,递归) 如果顺便删除此文件
$ git rm xxx
$ git rm -f xxx (强制)
$ git rm -r xxx  (用于目录,递归)

也可以使用 glob 模式,如
$ git rm log/\*.log

  文件的重命名(与通常的移动命令一致,但是在Git里移动没有意义)

对文件改名
$ git mv [file_old_name] [file_new_name] 其实,运行 git mv 就相当于运行了下面三条命令:
$ mv README.txt README
$ git rm README.txt
$ git add README

  4、查看更新历史

查看更新历史记录
$ git log 常用 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
$ git log -p -2 进行单词层面的对比,比行层面的对比
$ git log -U1 --word-diff
(在此之中新增加的单词被 {+ +} 括起来,被删除的单词被 [- -] 括起来。
在进行单词层面的对比的时候,使用U1的意思是上下文( context )行数从
默认的 3 行,减为 1 行。) 仅显示简要的增改行数统计
$ git log --stat 指定使用完全不同于默认格式的方式展示提交历史
$ git log --pretty=[oneline]|[short]|[full]|[fuller] 仅显示最近的 n 条提交
$ git log -(n) 仅显示指定时间之后的提交
$ git log [--since] | [--after] 仅显示指定时间之前的提交。
$ git log [--until] | [--before]
仅显示指定作者相关的提交
$ git log [--author] 仅显示指定提交者相关的提交
$ git log [--committer]

  

  5、撤回、修改、取消操作

修改最后一次提交(撤回提交)
$ git commit --amend 取消暂存的文件
$ git reset HEAD xxx 取消对文件的修改
$ git checkout -- xxx

  

  6、远程仓库的使用

查看当前的配置有哪些远程仓库
$ git remote 显示对应的克隆地址
$ git remote -v 要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用
$ git remote add [shortname] [url] 我们可以在项目里用字符串 pb 指代对应的仓库地址。 从远程仓库抓取数据到本地
$ git fetch [remote-name] | pb 推送数据到远程仓库
$ git push origin master 查看远程仓库信息
$ git remote show origin 修改某个远程仓库在本地的简称
$ git remote rename [oldname] [newname] 移除对应的远端仓库
$ git remote rm [name]

  7、对标签的管理

  Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。

  

列出现有标签
$ git tag
创建一个轻量级的标签
$ git tag v1.0
创建一个含附注类型的标签
$ git tag -a v1.0 -m 'xxx' 查看相应标签的版本信息
$ git show v1.0 如果有自己的私钥,可以用 GPG 来签署标签
$ git tag -s v1.0 -m 'xxx'   在后期对早先的某次提交加注标签
只要在打标签的时候跟上对应提交对象的校验和(或前几位字符)即可
$ git tag -a v1.0 xxx 默认情况下,git push 并不会把标签传送到远端服务器上运行 
$ git push origin v1.0 一次推送所有本地新增的标签
$ git push origin --tags

  以上命令参考自Git官网,放心使用。

  个人邮箱  zuoyuip@qq.com

  后续更新分支说明,欢迎指出不足。

  “人得自己成全自个儿”。

Git篇(基础)的更多相关文章

  1. Git使用基础篇

    Git使用基础篇 前言 Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版 本控制工具可以对开发产生如此之多 ...

  2. Git使用基础篇(zz)

    Git使用基础篇 您的评价:          收藏该经验       Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体 ...

  3. 深入学习jQuery选择器系列第一篇——基础选择器和层级选择器

    × 目录 [1]id选择器 [2]元素选择器 [3]类选择器[4]通配选择器[5]群组选择器[6]后代选择器[7]兄弟选择器 前面的话 选择器是jQuery的根基,在jQuery中,对事件处理.遍历D ...

  4. [译]PrestaShop开发者指南 第一篇 基础

    # 第一篇 基础 PS(PrestaShop简称)一开始就设定了能够在它的基础上很简单的构建第三方模块的机制,让它成为一款具有极高定制性的电子商务软件. PS的可以在三个方面进行定制: * 主题 * ...

  5. git学习基础教程

    分享一个git学习基础教程 http://pan.baidu.com/s/1o6ugkGE 具体在网盘里面的内容..需要的学习可以直接下.

  6. 一个前端开发者换电脑的过程(git篇)

    一,安装git. 要安装git,首先得把它下载下来.去到git官网. 现在开始安装. 讲真,这些东西哪些要勾哪些不要勾我也不清楚,所以全部都按默认的来,一路next. 现在再打开vscode的终端,发 ...

  7. Git入门基础详情教程

    前言 写了一篇文章<一篇文章了解Github和Git教程>还觉得不错,继续写了<为了Github默默付出,我想了解你>,那么继续写Git 基础知识. Git 官网:https: ...

  8. Mac下Git的基础操作

    目前最火的版本控制软件是Git了吧,今天简单梳理一下Mac下Git的基础操作~~ 一.什么是Git Git是一个分布式代码管理工具,用于敏捷的处理或大或小的项目,类似的工具还有svn. 基于Git的快 ...

  9. Mac 下 Git 的基础命令行操作

    Mac 下 Git 的基础命令行操作 sudo apt-get install git-core //安装Git 用户配置 git config --global user.name "Yo ...

  10. Git及基础命令的介绍以及如何向本地仓库添加文件

    在介绍Git的使用之前,我们得要先来了解一下Git.那么什么是Git? Git是一个版本管理工具(VCS),具有以下的特点: 分布式版本控制: 多个开发人员协调工作: 有效监听谁做的修改: 本地及远程 ...

随机推荐

  1. pureftpd支持php实现图片上传

    安装好php后,可安装pureftp工具 这里我给出一个rpm包可直接安装配置:http://pan.baidu.com/s/1i5OhS3r(包括启动脚本在内) FTP测试:安装ftp客户端,用户名 ...

  2. java.util.zip

    使用java自带的类 java.util.zip进行文件/目录的压缩的话,有一点不足,不支持中文的名件/目录命名,如果有中文名,那么打包就会失败.本人经过一段时间的摸索和实践,发现在一般的Ant.ja ...

  3. Oracle查看表空间大小和使用率

    1. 全部表空间的大小select tablespace_name, sum(bytes)/1024/1024 from dba_data_files group by tablespace_name ...

  4. 启动tomcat时jmx port被占用

    一.问题描述 今天一来公司,在IntelliJ IDEA 中启动Tomcat服务器时就出现了如下图所示的错误: 错误: 代理抛出异常错误: java.rmi.server.ExportExceptio ...

  5. JavaScript(第四天)【运算符】

    ECMA-262描述了一组用于操作数据值的运算符,包括一元运算符.布尔运算符.算术运算符.关系运算符.三元运算符.位运算符及赋值运算符.ECMAScript中的运算符适用于很多值,包括字符串.数值.布 ...

  6. JavaScript(第二天)【语法,变量】

    一.语法构成 区分大小写 ECMAScript中的一切,包括变量.函数名和操作符都是区分大小写的.例如:text和Text表示两种不同的变量.   标识符 所谓标识符,就是指变量.函数.属性的名字,或 ...

  7. 记录python接口自动化测试--利用unittest生成测试报告(第四目)

    前面介绍了是用unittest管理测试用例,这次看看如何生成html格式的测试报告 生成html格式的测试报告需要用到 HTMLTestRunner,在网上下载了一个HTMLTestRunner.py ...

  8. 雷云Razer Synapse2.0使用测评 -第二次作业

    雷蛇云驱动Razer Synapse2.0使用测评 雷蛇(Razer)是全球顶级游戏设备品牌之一,1998年由CEO Min-Liang Tan和Robert "Razerguy" ...

  9. Alpha冲刺Day7

    Alpha冲刺Day7 一:站立式会议 今日安排: 由林静和周静平共同完成企业风险分级展示这一模块的分级列表展示,该模块主要提供企业自查风险的条件查询功能 由黄腾飞和张梨贤共同完成企业风险分级展示的分 ...

  10. C语言——第二次作业

    **学习内容总结** 本周是国庆假期,学习了mooc相关课程.阅读了<提问的智慧>一文. 文章总结 1.在提问之前,要利用身边的资源(例如相关资料.FAQ.浏览器搜索)试着自己寻找答案,或 ...