Skip to content

Latest commit

 

History

History
executable file
·
129 lines (93 loc) · 6.73 KB

appendix-e.md

File metadata and controls

executable file
·
129 lines (93 loc) · 6.73 KB

附录-戊 git 用法简介

参考网页:

当然还有很多 git 的参考书目,为了简单入门,选择的都是 5(2) 分钟入门教程,欲更详细可以搜集 git 权威书籍阅读。下面转载 CSDN 译文,有改动。表示感谢。

一、引言

灵感来自“ 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指南!