从头开始创建一个版本库,添加一些内容,然后管理一些修订版本。

有两种建立 Git版本库 的基础技术。第一:从头开始创建,用现有的内容填充它。第二:可以克隆一个已有的版本库。这里选择从一个空的版本库开始比较简单,现在开始吧!

1,Git命令快速入门

  这里我们从头开始创建一个空的Git版本库,并往版本库中添加一个简单的 index.html 文件。

  才做步骤如下:

  1-1,打开 Git Bash,进入到任意电脑目录并创建一个目录。比如版本库创建在 D:\\GitTestRepos\\git003 下。

      Git Bash 是Windows下的命令行工具,基于msys GNU。GNU环境,说明很好的支持Linux/unix的环境。

  1-2,执行 git init 命令,将git003目录转化成一个版本库。git init 命令创建了一个隐藏的目录,在版本库的顶层目录中名为 .git 。Git将所有的修订信息都该目录中。

      

  1-3,在版本库中创建一个 index.html 文件。然后执行名 git add <file|path> 将指定file或者指定目录添加到版本库中(如果文件较多,可以使用 git add .  [.代表当前目录])。

      

      注意:这里的(master)标识的是版本库中的当前分支(branch),"master"分支是Git的默认分支,一般也成为主分支。关于分支,后面会介绍。

      

  1-4,在add命令之后,Git还只是暂存(staged) 了这个文件,这只是提交之前的中间步骤。Git将 add 和 commit 这两部分开了,以避免频繁的变化。

      如果每一次添加,修改或移除文件的时候都要提交到版本库中,还是很蛋疼的。提交就像是一个"批处理",一次性更新所有的修改。

      ok,现在执行 git status 命令,可以查看当前状态。

      

      

      Git的一些反馈信息还是很人性化的,这里可以看到Git提示我们:有一个新的文件,名为index.html已经暂存了。如果想取消暂存则使用命令 "git -rm --cached <file>"。

  1-5,出了目录和文件内容的实际变化之外,Git还会在每次提交的时候记录其他一些元数据,包括日志消息和做出本次变更的作者。

      一条完全限定的 git commit 命令必须提供日志消息和作者。git commit -m "日志消息" [--author]。

      

      至此,index.html 文件已经完全提交到Git版本库中了。

  1-6,再次执行 git status 命令查看当前状态。

      

     Git系统我们:在 master 分支上,工作区干净,没有任何与版本库中不同的文件或者未知的更新过的文件。

     至此,一此完整的提交已经完成,主要涉及到的命令有 git init(初始化版本库) , git add(添加工作区文件到Git暂存) ,git commit(提交到版本库,必须附带日志信息和变更人信息) , git status(查看Git版本库状态)。

2,配置提交作者

  经过上面的操作,你会发现,每一次commit都要附带变更人信息,但是一个本地电脑来说,变更人信息基本上是固定的。

  所以,我们应该为Git建立一些基本环境和配置选项。最为基本的是,Git必须知道你的名字和emal地址。

  如果输入下命令可以在Git的配置文件中保存我们的身份信息:

  git config --global user.name "xxxxxx"

  git config --global user.email "xxxxx@qq.com"

  以上的命令,只需要执行一次即可。因为传递了 --global 选项。如果希望在一个特定的项目使用不同的名称和email,就不要使用 --global 选项。

  使用 git config --list 命令可以查看所有的配置项目。

3,再次进行提交,并查看日志

  为了展示一些更多的Git特性,我们对版本库中的文件做一些修改。

  3-1,首先对 index.html 文件做一些修改。

      

  3-2,查看一下当前Git版本库的状态,你会发现不同的提示信息。最后提交到版本库。

      

      这里Git提示我们,index.html 文件被修改,我们可以执行 git add 命令将其暂存,或者 git checkout <file> 进行牵出,牵出的文件将替换到工作区的文件,也就意味着当前的修改被牵出的文件所覆盖。

      命令 git checkout 会重写工作区,所以使用的时候一定要谨慎。

    

      

  3-3,查看提交

      一旦版本库中有了提交,就可以通过多种方式查看它们。

      有些Git命令显示出单独提交的序列,有的显示出一次性提交的摘要,还有的则会显示出版本库里每次提交的所有细节。

      命令 git log 会输出版本库里一系列单独提交的历史。条目数据按照时间排序。

      

      上图中框红的标识为提交ID,它是前面所说的"安全散列函数,SHA1"。它是唯一的。

      还可以根据提交ID,查看一下这个提交的具体信息。

      

      还可以查看提交差异。

      

       看到这一长串的SHA1码害怕了吗?不用担心这些令人生畏的十六进制数字。Git提供了许多更短,更简单的方式来执行上如的命令,而无序输入一个完整的SHA1吗。

Git命令行之快速入门的更多相关文章

  1. Git命令行(转用于学习和记录)

    Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...

  2. 如何通过Git命令行把代码提交到github上

    1.http://www.cnblogs.com/leesf456/p/5169765.html   参考博客 背景:最近入手了mac,看见mac上的大神都是在用git命令行推代码,我很羡慕有木有,好 ...

  3. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  4. 使用批处理文件命令行方式快速启动和停止IIS、SqlServer

    原文:使用批处理文件命令行方式快速启动和停止IIS.SqlServer 虽然现在内存便宜了,但是自己还是嫌自己的512M内存太小,没办法,后台运行的东西太多了,有很多都是有用的没法关闭的.IIS和SQ ...

  5. git命令行工作的正确姿势

    git命令行创建并提交新分支到mater分支的常规步骤 git branch new_branch git status 查看修改的文件 git add changed_files git commi ...

  6. 【重要】使用Git命令行上传到GitHub上

    [本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...

  7. git 命令行

    在使用 git 命令行之前需要下载安装软件官方网站:https://git-scm.com/window 或者 mac 等其它版本自行下载 使用方法一:安装后在项目文件夹中右键菜单会有个 Git Ba ...

  8. git命令行工作环境配置【转】

    转自:http://www.cocoachina.com/ios/20171115/21163.html 本文为CocoaChina网友whf5566投稿 前言 笔者一直使用git的图形化工具sour ...

  9. git 命令行下浏览器tig使用记录

    git 命令行下浏览器tig使用记录 tig 是一款优化 git 命令行的工具,使 git 命令行更加的便捷人性化 .如果用习惯了,会上瘾. 以下是一些使用记录: 安装成功后,在 Repo 文件夹下, ...

随机推荐

  1. Hadoop分布式文件系统

    在一个经典的数据架构中,Hadoop是处理复杂数据流的核心.数据从各种系统中收集而来,并汇总导入到Hadoop分布式文件系统HDFS中,然后通过MapReduce或者其它基于MapReduce封装的语 ...

  2. 从wireshark中学网络分析(一)

    http://blog.csdn.net/nk_test/article/details/56509688 http://blog.csdn.net/nk_test/article/details/5 ...

  3. MinGW和MSYS区别和关系以及MinGW&MSYS在Win7中安装并编译x264

    http://blog.csdn.net/freeape/article/details/50555003

  4. Node EE方案 -- Rockerjs在微店的建设与发展

    本文是根据2019.4.13日参加 "Node-Party"论坛使用的PPT,加上笔者新的思考与沉淀而来.在此再次感谢贝贝网前端部门和芋头君以及相关与会人员的支持! -- 微店杨力 ...

  5. QT5---应用程序发布(使用windeployqt和NSIS)

      采用动态编译的方式发布程序,即release版本. 找齐动态依赖库(.dll) 方法一   用Dependency Walker这个工具去找少了那些dll,不过这个工具也不怎么靠谱,一个比较靠谱但 ...

  6. NSmutableArray 的实现原理机制

    古老的C数组: 优点:查询速度很快,直接通过下表找到对应的值 缺点:修改.删除数据很慢,需要移动基于所有的其他的元素   插入和删除一个元素,需要移动后面所有的元素 改进的目标:实现快速增加,删除 N ...

  7. 抓取报表ALV GRID上的数据

    在项目开发过程中需要从标准报表MB5B中获取数据,以下是本人实例中的相关部分,程序同样适用于获取其他标准报表的数据. CL_SALV_BS_RUNTIME_INFO=>SET(    DISPL ...

  8. 使用Arcgis Pro 发布矢量切片

    ArcGIS Pro 中的任何地图或底图都可以创建矢量切片,但是有一些局限性和特殊注意事项.为创建矢量切片制作地图的重点是构建一个有效的地图,以快速绘制生成的切片. 软件环境 操作系统:Windows ...

  9. Spring Boot:实现MyBatis动态创建表

    综合概述 在有些应用场景中,我们会有需要动态创建和操作表的需求.比如因为单表数据存储量太大而采取分表存储的情况,又或者是按日期生成日志表存储系统日志等等.这个时候就需要我们动态的生成和操作数据库表了. ...

  10. ios开发系列之内存泄漏分析(下)

    接上篇,本篇主要讲解通知和 KVO 不移除观察者.block 循环引用 .NSThread 和 RunLoop一起使用造成的内存泄漏. 1.通知造成的内存泄漏 1.1.ios9 以后,一般的通知,都不 ...