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 文件夹下, ...
随机推荐
- DirectX的替代品 SDL 简介
DirectX的替代品 SDL 简介 什么是SDL? 即 Simple DirectMedia Layer,使用 LGPL 许可证. 免费的跨平台多媒体应用编程接口 用于游戏.游戏开发工具.模拟器.样 ...
- D7下FastMM的使用
原文出处:http://hi.baidu.com/showwindows/blog/item/5b7ac601c487c605728da573.html FastMM 快速MM:-),在D2006和2 ...
- Qt给应用程序添加版本信息(对rc文件的设置,可利用QT内置变量)
作者:daodaoliang 时间:2016年7月11日16:12:09 版本:V 0.0.4 邮箱:daodaoliang@yeah.net 0. 环境说明 系统环境: win10 64位 Qt环境 ...
- DUI-模态对话框的实现
模态对话框要求自己实现自己的消息循环,当然,建议它还是处于主线程中,所以最好是由它再调用主线程的消息循环函数,此时主线程自身的消息循环函数被阻塞,等待模板对话框的消息循环函数退出 参考代码如下: 1 ...
- python算法与数据结构-循环链表(39)
一.循环链表的介绍 上一篇我们已经讲过单链表,本篇给大家讲解循单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点,其基本操作和单链表思路一样. 常用的操 ...
- Git--将已有的项目添加到github
(2). 初始化本地仓库,并提交内容到本地 需要先打开 命令行终端,然后通过 cd 命令切换到需要添加到github 的项目的目录下,然后依次执行如下命令, 具体命令及其含义如下: 1). touch ...
- SqlServer导入大文件Sql
sqlcmd -S "192.168.1.218" -U "sa" -P "1qaz~xsw2" -d "SispMain&quo ...
- 10月18日 JS begant
1.JS的本质就是处理数据,数据来自后台的数据库,所以变量起到了临时存储的作用, ES制定了js的数据类型 2.数据类型有哪些? (1)字符串 String (2)数字 Number (3)布尔 B ...
- PyCharm问题-ModuleNotFoundError: No module named 'pymysql'
在使用PyCharm时遇到pymysql模块导入有问题,本人使用的是Windows,但解决问题的方法是一致的,先来安装pymysql: 用管理员身份运行CMD.exe,然后查看python的安装路径 ...
- PHP中var_dump、&&和GLOBALS的爱恨纠缠
var_dump函数:用来打印显示一个变量的内容与结构: &&:定义一个可变变量.php中,在定义变量时,需要在前面加上一个“&”符号,当加上两个“&&”符号时 ...