Git之2分钟教程

Git之2分钟入门

  普通人:“借我1000块钱”。程序猿:“借你1024吧,凑个整”。

  今天是1024,是我们程序员的节日,在此,首先祝各位程序猿以及程序媛们节日快乐~然后送出一份节日礼物,没错,就是git的两分钟入门。当然了,这是我今天抽时间翻译过来的,原文在这里,翻译的有不对的地方欢迎指出。

  有感于“Git in 5 Minutes”,我决定进一步写一个更短的入门教程。当然,这是极为简单的git教程。但是它对于初期的独立开发者来说已经足够了,而且它为你的成长建立了基础。

  举例来说,一个需要完成他或是她第一份编程作业而且不愿与他人分享代码的高中生可可能从这份入门指导中获益。(我想,尤其对我的儿子有帮助,他已经写了相当多的代码,但是不想花时间学习版本控制系统。这是专门为他而写,当然也想对其他人有所帮助。)它使我儿子明白如何使用git。Git和Subversion不同,我儿子可以很容易的使用它,而完全不需要服务器(只要他定期在他的硬盘驱动上做备份。)。在2分钟的入门教程中,无需担心服务器,这简直太完美了。

  再次重申,这个使用Git的教程仅仅适合有定期备份习惯的独立开发者。2分钟的Git入门,外加备份的策略,你可以安心的提交文件,如果需要的的话,你可以看到文件的更改或者恢复到早期的版本。

  为什么这很重要?好吧,一个开发者所经历的最恼人并且最耗时的经历无过于发现程序原先可以正常运行,但是改过之后就不行了。在这个情景下,能轻易看到改动并且可以回到先前的版本无疑是雪中送炭。而且,可以回归历史版本可以让你更加自由的实验新的方法-随意倒腾,因为你可以重头再来。

  当你有一个机会,你应该清楚的学习有关诸如staging,branching,pushing到一个远程版本库,以及从一个远程版本库pulling。但是在这你将学到终身受用的东西。

开始使用git

  如果你尚未安装git,在这里看安装指导。

第一次使用git,我们假定你正在一个你工程项目的一个主文件夹工作。你需要做的第一件事是初始化你的文件夹以便使用git:

1 git init

告知git你要添加的文件

  现在你需要告知git它需要关心哪些文件。如果你有N个文件,你可以这样来添加它们:

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

  或者若你想添加文件夹中的每一个文件,你可以这么做:

1 git add .

  PS:那个点是命令的一部分,代表当前文件夹

提交更新

  接下来,我们需要提交更新。任何时间如果你想要提交一个或多个文件,执行下面指令:

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

  或者,你也可以提交所有自上次提交之后已更改的文件: 

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

  确保你的提交信息包含足够的描述信息,以便使你可以分辨出你想回归的版本。

查看历史版本

  现在我们需要一个有效的方式来查看历史版本。为了连同每个版本的“哈希”看你的提交信息(这个数字指的是版本),你可以使用如下的命令在一个版本号一行的输出中显示它们:

1 git log --pretty=oneline

  这命令会给你提供类似下面的输出,显示每个提交的哈希以及它们的提交信息:

1 wanted to commit
2 13bbf385e6d1f94c7f11a4cdfa2a7688dfdd84f8 3rd
3 a1696f671fb90dc8ea34645a6f851d0ab0152fc2 2nd version
4 179e59467039c7a7b81f676297415c8e018542a0 first version

  PS:你也可以用

1 git log

  来获得更多详细的输出,每个版本会有更多行,你同样可以用

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

  来看一个文件的更新信息。

  PS:两个破折号后面有一个空格。

恢复一个历史版本

  最终,为了恢复到一个早期的版本,你只需要用哈希的第一个极少的字符(足以分辨它):

1 git checkout <hash> -- <filename>

 例如:

1 git checkout 179e59467039 -- myfile

  将会把你的文件名为myfile内容恢复到179e59467039c7a7b81f676297415c8e018542a0的哈希映射的版本(这个情况下,是文件第一个提交的版本)。

查看变化  

  如果你没有第一次检查变化的内容的话,你将不会想要检索一个文件的历史版本。为了查看一个文件的当前版本和历史版本的不同,你参考历史版本的哈希:

1 git diff <hash> -- <filename>

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

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

还有一件事-可选-可能会多占用一分钟

  当你可以从上述的特性中获得很多好处,这里你会发现更多的有用的东西。如果你不想它现在打扰你,换个时间看。

  有时,你不确定什么文件更改了,为了找到它,你可以用:

1 git status

  这将生成一个有文件状态的文件列表。比如说,一个文件没有被“git add”过,将被列为未跟踪的:如果它是一个你关心的文件,你应该添加它。

  我想把这个命令“可选”放在这个两分钟教程的原因是它有点笨。因为它可以列出大量你不关心的文件。比如说,如果你用python编程,它将会显示python生成的已编译的.pyc文件。然后你可能会想做些什么。

  为了解决这个问题,你需要在你的项目目录里创建一个名为.gitignore的文件。比如说,如果你用python2.X编程,你可能想要包含(至少):*.pyc

  PS:.gitignore识别*通配符。

  如果你想隐藏整个文件夹,你可以在文件名后加斜线。比如你用python3.x,编译的文件被放在一个名为__pycache__,所以你将想在.gitignore中添加如下字符:

  __pycache__/

以上就是全部。只要保证这个入门教程在手边。

  这就是所有你需要知道的有关git的准备工作,只要你有周期性在硬盘驱动上备份的习惯。如果你除了主要的提交命令不想记忆任何的东西,那就把这个教程存为书签,那么你将可以提交、比对各个版本以及毫无困难的回归历史版本!

  记住,这个教程是尽可能简单的让你可以使用git做些有用的事。如果想获得更为强大的特性诸如branching, staging,以及通过远程来分享你的代码,那么就移步到“Git In Five Minutes”,如果有机会的话甚至可以去更详尽一点的git教程。

  

时间: 2024-10-07 21:10:38

Git之2分钟教程的相关文章

【转】Lucene五分钟教程

原文链接 http://www.importnew.com/12715.html 英文原文链接 http://www.lucenetutorial.com/lucene-in-5-minutes.html Lucene五分钟教程 本文由 ImportNew - 刘 家财 翻译自 lucenetutorial.欢迎加入翻译小组.转载请见文末要求. 更新:下面的代码使用Lucene 4.0版本! Lucene大大简化了在应用中集成全文搜索的功能.但实际上Lucene十分简单,我可以在五分钟之内向你展

Org-mode五分钟教程ZZZ

Table of Contents 1 源起 2 简介 2.1 获取 org-mode 2.2 安装 3 基础用法 3.1 创建一个新文件 3.2 简单的任务列表 3.3 使用标题组织一篇文章 3.4 展开段落 3.5 使用链接 3.6 浏览文章 3.7 给任务添加说明 4 高级功能简述 4.1 设置 4.2 全局 TODO 列表 4.3 计划任务和日程表 5 再会 6 后记 1 源起 最近在学习 Emacs 的一些高级用法,在学习到了 org-mode,看到了官方网站上的这篇 David O'

Git和Github简单教程

网络上关于Git和GitHub的教程不少,但是这些教程有的命令太少不够用,有的命令太多,使得初期学习的时候需要额外花不少时间在一些当前用不到的命令上.这篇文章主要的目标是用较少的时间学习Git和GitHub的基本使用.在足够一般使用的前提下,尽量减少命令.如果需要其他命令,到时候再去其他地方了解就行了. 目录: 零.Git是什么 一.Git的主要功能:版本控制 二.概览 三.Git for Windows软件安装 四.本地Git的使用 五.Github与Git的关联 六.团队合作开发 七.Git

GDB十分钟教程

转自:http://blog.csdn.net/liigo/article/details/582231 作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日 本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者. GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调试工具. GDB中的

GDB十几分钟教程

GDB十分钟教程 作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日 本文写给主要工作在Windows操作系统下而又须要开发一些跨平台软件的程序猿朋友,以及程序爱好者. GDB是一个由GNU开源组织公布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调试工具. GDB中的命令固然非常多,但我们仅仅需掌握当中十个左右的命令,就大致能够完毕日常的主要的程序调试工

[转载]GDB十分钟教程

转自:http://blog.csdn.net/liigo/article/details/582231/ GDB十分钟教程 作者: liigo原文链接: http://blog.csdn.net/liigo/archive/2006/01/17/582231.aspx日期: 2006年1月16日 本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者. GDB是一个由GNU开源组织发布的.UNIX/LINUX操作系统下的.基于命令行的.功能强大的程序调

JUnit三分钟教程 ---- 快速起步

JUnit三分钟教程 ---- 快速起步 JUnit是个好东西,做大点的项目离不开这东西,实际中用的时候也因为时间和人力的关系,仅仅写个TestCase(测试单元),运行一下看看就扔过去了,过后也不维护测试代码. 所用的JUnit包为3.8.2. JUnit这东西,说复杂也复杂,说简单也简单,关于JUnit的叙述解说网上一堆一堆,可是就找不到个简单点又能说明问题的附带有完整代码可运行的例子.下面给出一个三分钟的入门的例子大家看看. 一.写测试目标(业务相关的类) /** * * 测试对象 * U

Git GUI简易使用教程

Git GUI简易使用教程:先上图~~~~~ 一. 先从添加文件开始讲(先上图): 1.选中要添加的文件,点击菜单栏的“提交”,选中“缓存为提交”, 2.接下来不用说了直接跑流程(习惯说跑流程概念不是很清楚还请见谅见谅): 提交(Git commit) 提交则代表此前被添加ADD的文件已确认被提交到Git库了.需要注意的是,如果你改变代码的缩进(尽管没有修改内容),默认状态下会被识别为整个代码全部变更.提交的时候是要求必须要写备注的. 上传(Git push) 顾名思义,上传则是上至远端服务器了

Git-it:一个学习Git和Github的教程(软件)

Git-it https://github.com/jlord/git-it 2016-08-01 在FreeCodeCamp的引导了解到的Git-it. Git-it是一个指导使用Git和Github的教程,据说作者是Github内部程序媛.(在Git-it中,发现了另外一个叫NodeSchool的网站,专门提供开源node教程,Git-it是其中的一个课程,后面再研究一下NodeSchool.) Git-it在线版本貌似无法访问,但其提供了两种方式供离线下载:一个是初始使用node的终端版本