Git命令行之快速入门
从头开始创建一个版本库,添加一些内容,然后管理一些修订版本。
有两种建立 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命令行之快速入门的更多相关文章
- Git命令行(转用于学习和记录)
Git命令行介绍和使用说明(持续更新) 参见:<Git 中文简体教程> 一. 命令“git”或者“git help”查询常用命令 [add]: “git add”——不但是用来添加不在版本 ...
- 如何通过Git命令行把代码提交到github上
1.http://www.cnblogs.com/leesf456/p/5169765.html 参考博客 背景:最近入手了mac,看见mac上的大神都是在用git命令行推代码,我很羡慕有木有,好 ...
- windows下使用TortoiseGit代替Git命令行操作
windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...
- 使用批处理文件命令行方式快速启动和停止IIS、SqlServer
原文:使用批处理文件命令行方式快速启动和停止IIS.SqlServer 虽然现在内存便宜了,但是自己还是嫌自己的512M内存太小,没办法,后台运行的东西太多了,有很多都是有用的没法关闭的.IIS和SQ ...
- git命令行工作的正确姿势
git命令行创建并提交新分支到mater分支的常规步骤 git branch new_branch git status 查看修改的文件 git add changed_files git commi ...
- 【重要】使用Git命令行上传到GitHub上
[本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...
- git 命令行
在使用 git 命令行之前需要下载安装软件官方网站:https://git-scm.com/window 或者 mac 等其它版本自行下载 使用方法一:安装后在项目文件夹中右键菜单会有个 Git Ba ...
- git命令行工作环境配置【转】
转自:http://www.cocoachina.com/ios/20171115/21163.html 本文为CocoaChina网友whf5566投稿 前言 笔者一直使用git的图形化工具sour ...
- git 命令行下浏览器tig使用记录
git 命令行下浏览器tig使用记录 tig 是一款优化 git 命令行的工具,使 git 命令行更加的便捷人性化 .如果用习惯了,会上瘾. 以下是一些使用记录: 安装成功后,在 Repo 文件夹下, ...
随机推荐
- java基础之super关键字
一.在java里面,对于super关键字通常有两种用法: 1. 用在子类的构造方法里(初始化用),主要是调用父类的默认构造方法,如果父类有不止一个构造方法,可以通过super指定具体的构造函数,比如 ...
- Qt浅谈之二十七进程间通信之QtDBus good
一.简介 DBus的出现,使得Linux进程间通信更加便捷,不仅可以和用户空间应用程序进行通信,而且还可以和内核的程序进行通信,DBus使得Linux变得更加智能,更加具有交互性. DB ...
- 条款17:以独立语句将newed对象置入智能指针
请牢记: 以独立语句将newed对象存储于(置入)智能指针内.如果不这样做,一旦异常被跑出来,有可能导致难以察觉的资源泄露. 假设有个函数用来处理程序的优先权,另一个函数用来在某动态分配所得的Widg ...
- 在本地安装RabbitMQ Server教程以及可能遇到的问题及解决办法
1. Download latest erlang OTP platform from : erlang:http://www.erlang.org/download.html (The latest ...
- 【转载】Chrome使用自定义协议打开本地程序并运行IE打开网页
部分内容转载自: http://blog.sina.com.cn/s/blog_e2b8213a0102wqby.html 项目中遇到某需求:chorme要运行IE并打开网页.解决方案之一就是通过自定 ...
- hgoi#20190515
T1-Pie or die Volodya和Vlad在玩下面的这个游戏.这里有k个派,分布在n×m的板子上.每一回合Volodya移动一个派到这个派边界的格子,如果这个派在板子的边界,Volodya就 ...
- Unity Shader 屏幕后效果——边缘检测
关于屏幕后效果的控制类详细见之前写的另一篇博客: https://www.cnblogs.com/koshio0219/p/11131619.html 这篇主要是基于之前的控制类,实现另一种常见的屏幕 ...
- 13 | 效率为王:脚本与数据的解耦 + Page Object模型
- Python 3网络爬虫开发实战》中文PDF+源代码+书籍软件包
Python 3网络爬虫开发实战>中文PDF+源代码+书籍软件包 下载:正在上传请稍后... 本书书籍软件包为本人原创,在这个时间就是金钱的时代,有些软件下起来是很麻烦的,真的可以为你们节省很多 ...
- 每日一问:谈谈 SharedPreferences 的 apply() 和 commit()
SharedPreferences 应该是任何一名 Android 初学者都知道的存储类了,它轻量,适合用于保存软件配置等参数.以键值对的 XML 文件形式存储在本地,程序卸载后也会一并清除,不会残留 ...