Git 2分钟指南

灵感来自“5分钟Git”,我决定更进一步,并创建花费更少的时间掌握git的指南。当然,这是非常简单的git!但这对独立的开发者来说已经足够有用,并为你的继续成长提供了一个开始。

受益于这种指南的可能是一名高中生,正在进行着他的或她的第一个编程项目,并且他不需要与任何人分享代码。(我想,是的,我的儿子,他写了大量的代码并没有花时间学习一个版本控制系统。这是写给他的,同时其他人也可以使用它。)使用Git对他非常有意义。不像Subversion,可以在没有服务器的情况下很容易地使用它(需要做的只是定期备份他的硬盘)。在一个二分钟的指南中,没有时间去担心一个服务器,所以这是完美的。

再次,这种方式使用Git只适合一个有定期备份策略的独立开发者。有两分钟的git,加上一个备份策略,你可以自信地提交文件,知道你可以看到的变化的版本或在需要的时候恢复较早的一个版本。

为什么这个还这么重要?嗯,一个开发人员能够认识到,一些曾经的最恼人的和耗时的工作经历将不会再有。在这样的情况下,能够看到变化后的版本,恢复到一个较早的版本可以说是一个重要的功能。同时,能够回滚之前的版本从而给你自由去试验一种新的方法——没有问题,因为你总是可以回滚。

当你有一个机会,你一定要了解staging和branching等功能,以及从远程存储仓库pushing/pulling的功能。但是,你在这里学习的将仍然是有用的!

注意:当下面提到了一个文件名,你可以很容易地使用文件路径。

开始使用Git

如果你还没有安装Git,可以参考开始主页上的安装指南。

第一次使用Git,我们假设你在一个目录下工作,这个目录是您项目的主目录。你应该做的第一件事就是:

git init    //它初始化git使用的目录。

告诉Git你的文件

现在你要告诉Git哪些文件应该关心的。如果你有N个文件,你可以做:

git add <file1>  <file2> … <fileN>

加入他们。如果你想添加目录中的每个文件,你可以做:

git add .   //(.代表当前目录)

提交更改

接下来,我们需要提交更改。任何时候你想提交一个或多个变化的文件,做:

git commit <file1> <file2> … <fileN> -m “This is your commit message"

或者,把所有的自上次提交之后变化的文件:

git commit -a -m “This is your commit message for all changed files"

一定要让你的提交信息中包含足够的描述,以便于你可以找出你想回到之前的某个版本。

查看历史记录

现在我们需要一种方式查看旧版本。看到你的提交信息以及每个版本的“hash”(一个数字,是指版本),你可以使用下面的命令来显示他们one-version-per-line,每行输出。

git log --pretty=oneline

这会让你看起来像下面的输出,显示每个提交的哈希和提交信息

dbe28a0a1eba45d823d309cc3659069fc16297e3 第四版我想提交

13bbf385e6d1f94c7f11a4cdfa2a7688dfdd84f8 第三版

a1696f671fb90dc8ea34645a6f851d0ab0152fc2 第二版

179e59467039c7a7b81f676297415c8e018542a0 第一版

注意,您也可以使用

git log

一个更详细的输出,每版多行,你可以使用

git log --pretty=oneline -- <filename>

查看一个特定的文件的变化。(注意破折号!)

恢复旧版本

最后,恢复文件到一个较早的版本,你只需要使用的Hash的前几个字符(只要足够区别):

git checkout <hash> -- <filename>

例如,

git checkout 179e59467039 -- myfile

将恢复我的文件的文件名为myfile且与179e59467039c7a7b81f676297415c8e018542a0哈希关联的内容(在这种情况下,指第一次提交的文件)。

看到变化

通常你不会想要检索文件的旧版本而不先检查它包含的变化!查看一个文件的一个历史版本和当前版本之间的差异,你可以查看历史版本的Hash:

git diff <hash> -- <filename>

你也可以比较两个历史版本:

git diff <hash1> <hash2> -- <filename>

最后一件事––可选––可能会增加另一分钟

虽然你可以得到很多好处只使用上述特性,这还有一点你会发现是有用的。如果你现在不想被打扰了,不必再试一次。

有时候,你不知道什么文件变化了。为了找到它,你可以做:

git status

这会产生一个文件列表和他们的状态。例如,一个文件没有被“git add“-将会被列出来作为“untracked”;如果是一个你关心的文件,你应该添加它。

我觉得这个命令“optional”在一个二分钟的指南里,它可能有点小笨重,因为它可以列出很多你不关心的文件。例如,如果你的编程语言是Python,它会显示编译文件.pyc。你可能会想做些什么来解决它,你需要在你的项目目录中创建一个文件叫做.gitignore。例如,如果你工作在Python
2.X的项目上,你可能会想要它包含(至少):

*.pyc

请注意,.gitignore理解*作为通配符。如果你想隐藏整个目录,你在文件夹名称后附加一个斜线。比如你在Python 3.x环境下工作,编译后的文件在一个目录称为__pycache__的里面,所以你需要下面的这个在你的.gitignore中:

__pycache__ /

就是这样!只要保持这个指导手册

这就是你开始使用Git所需要知道的,只要你的硬盘有定期备份策略。如果你不想记住任何超越主要COMMIT的命令,就把这个指南加入书签,你就可以提交,版本比较,没有任何麻烦回到旧版本!

记住,本指南作为简约版使用git做点有用的事情。强大的功能像branching,staging,并通过远程服务器与他人分享,请移动到Git五分钟指南甚至其他(?!)更长一些的Git指南!

原文链接:http://www.garyrobinson.net/2014/10/git-in-two-minutes-for-a-solo-developer.html

时间: 2024-08-29 06:36:58

Git 2分钟指南的相关文章

Git 两分钟指南

转载: http://linux.cn/article-4704-1.html 受到Git五分钟指南的启发,我决定更进一步,写一篇更短时间内就能看完的Git教程.当然,这是指最简单的Git!但是对于新手个人开发者来说足够了,同时也给你提供一个可以继续深入的起点. 能够从本指南有所收获的例子也许是这样的,一个高中生正在进行他(或是她)的第一个项目,而且并不需要和别人分享代码.(具体讲其实是我儿子,他已 经写了很多代码,但是没有时间去学习一个版本控制工具.这份指南是为他写的,当然我觉得别人也能用的到

Git两分钟指南 | 程序师【转】

我们发布了很多Git相关的文章,有系列教程(<Pro Git系列>),也有各种独门绝技(<让你的Git水平更上一层楼的10个小贴士>).但这篇两分钟的Git指南算是最精简的.如果想了解更多Git相关的文章,请从这里开始. 以下是Git两分钟指南的正文内容. 受到Git五分钟指南的启发,我决定更进一步,写一篇更短时间内就能看完的Git教程.当然,这是指最简单的Git!但是对于新手个人开发者来说足够了,同时也给你提供一个可以继续深入的起点. 能够从本指南有所收获的例子也许是这样的,一个

Git两分钟指南-学习入门参考

Git两分钟指南 http://blog.jobbole.com/78999/ GIT和SVN之间的五个基本区别 http://www.oschina.net/news/12542/git-and-svn Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

Git简明使用指南[转]

git - 简易指南 助你开始使用 git 的简易指南,木有高深内容,;). Tweet 作者:罗杰·杜德勒 感谢:@tfnico, @fhd and Namics 其他语言 english, deutsch, español, français, italiano, nederlands, português, русский, türkçe, ??????, 日本語, ??? 如有纰漏,请到 github 填报 setup 安装 下载 git OSX 版 下载 git Windows 版 下

Git五分钟教程

许多人认为Git太混乱或是复杂的版本控制系统,这篇文章是面向一些人想快速上手使用Git, 对于大多数基本需求这篇文章涵盖了使用的70%至90% 入门 使用Git前 需要先建立一个仓库(repository).你可以使用一个已经存在的目录作为Git仓库或创建一个空目录 使用您当前目录作为Git仓库,我们只需使它初始化 git init 使用我们指定目录作为Git仓库 git init newrepo 从现在开始,我们将假设你在Git仓库根目录下,除非另有说明 添加新文件 我们有一个仓库,但什么也没

git命令行指南

Git 常用命令 git init here -- 创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文件夹里存储了所有的版本信息.标记等内容 git remote add origin [email protected]:winter1991/helloworld.git -- 把本地仓库和远程仓库关联起来.如果不执行这个命令的话,每次 push 的时候都需要指定远程服务器的地址 git add -- 从本地仓库增删,结果将会保存到本机的缓存里面 git

git基础使用指南

git 有个远程库,存放不同分支的代码,站点服务器和本地都可以从远程库获取代码代码到本地,然后运行代码启动站点.分支的每次修改提交被叫为节点,不同分支间的合并等同将被合并分支上一节点更改区别合并分支的区别点覆盖过来.不同库间分支的推送原理等同. 1,如何从某远程库获取到代码到本地? a,创建目的文件夹,并git初始化文件夹 git init b,拉取代码 git clone 地址 2,查看本地区别远程库的修改文件及当前分支 git status 3,修改后的完整提交流程 git add 文件的绝

Git &amp; Gitlab 使用指南

2016-02-23   |   9,129字   |   分类于 工具  |   3条评论 去年小组在从 SVN 和 TFS 迁移到 Git 的过程中整理了这份文档,面向的用户是对 Git 和 SVN 可能都不是很了解的人.看到自己写了这么多,于是就拿出来分享下,有些东西可能写得比较浅,有错误还请指正. 1. 关于 Git 你应该知道的东西 Git 是一个分布式版本控制系统.分布式的意思是,每个人电脑上都是一份完整的代码库,包含了所有的代码提交历史.由于 Git 分布式的特点,在没有网络的情况

Github和Git上fork指南

现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序,而你可能要去改进它.并且Joe将他的代码放在了GitHub仓库上.下面是你要做的事情: fork并且更新GitHub仓库的图表演示 Fork他的仓库:这是GitHub操作,这个操作会复制Joe的仓库(包括文件,提交历史,issues,和其余一些东西).复制后的仓库在你自己的GitHub帐号下.目前,你本地计算机对这个仓库没有任何操作. Clone你的仓库:这是Git操作.使用该操作让你发送"请给我发一份我仓库的复制文件"的命