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

有两种建立 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. zyltimer与ZylIdleTimer

    http://www.zylsoft.com/zyltimer.htmhttp://www.zylsoft.com/products.htm

  2. Ansible的安装与使用初探

    一.环境准备 网络配置 管理端:192.168.237.201 受控端:192.168.237.202.192.168.237.203(一共2台) 硬件信息 CPU:1核 内存:512MB 磁盘:10 ...

  3. git如何merge github forked repository里的代码更新

    git如何merge github forked repository里的代码更新? 问题是这样的,github里有个项目ruby-gmail,我需要从fork自同一个项目的另一个repository ...

  4. 常用Linux网络命令

    TCP状态统计: netstat -anp TCP各个状态的连接数:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a] ...

  5. Hexo+NexT(零):最全Hexo+Next搭建博客教程

    快速.简洁且高效的博客框架 有位大神说,喜欢写博客的人的人,折腾博客会经历三个阶段.找到一个免费空间,搭建一个博客,很欣喜,很有成就感,此为一阶段:受限免费空间各种限制,自己买空间和域名,实现对博客的 ...

  6. Python的魔术方法详解

    构造和初始化 __init__我们很熟悉了,它在对象初始化的时候调用,我们一般将它理解为"构造函数". 实际上, 当我们调用x = SomeClass()的时候调用,__init_ ...

  7. 使用Visual Studio Code进行MicroPython编程

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 Visual Studio Code(以下简称VSC ...

  8. C++标准库(体系结构与内核分析)(侯捷第二讲)

    一.OOP和GP的区别(video7) OOP:面向对象编程(Object-Oriented programming) GP:泛化编程(Generic programming) 对于OOP来说,我们要 ...

  9. MAC 安装telnet

    https://blog.csdn.net/licheng70356213/article/details/81162660 在10.12及以下版本,都内置了telnet命令,但是在10.13中,已经 ...

  10. 【前端工具】页面加载获取url param

    例如跳转进入一个页面: https://mp.csdn.net/postedit/74766644?name=catalina&flag=1 函数: function getParam(par ...