版本控制 — 1. 你干嘛要用Git(单人寂寞版)

原文地址:http://blog.csdn.net/ppn029012/article/details/8878416

1. 好好的,为什么要用版本控制


1.1 单身吊丝一个人(就你一个人)

幻想一下以下场景,你在用你家Windows中的传奇软件”记事本”写一篇小说<<武松三打白骨精>>。经过了1个多小时的单干,你的小说中,武松好不容易把白骨精1打死了。(血腥情节1

又过了一个小时,你的武松又把白骨精2打死了。(血腥情节2


突然间, 你觉得白1号死得太迅速了,应该和武松增加些感情戏, 于是需要在情节1中增加一段床戏,而相应地,在情节2中也需要做些修改,因为白2和白1是亲姐妹。 (血腥情节1 + 武松床戏 + 新血腥情节2)


虽然白3还没打完,但是你的快乐写作一切都显得很顺利

突然有一天(想找老版本)

你回头审视,发现糟了,白1和白2是两个单独的女吊丝,根本不应该有亲情关系,所以“新血腥情节2”应该采用原来的血腥情节2更合适些。忘记备份了, 重写么/span>

忽然又有一天(想要去冒险)

虽然3只白骨精还没完全打完,但是有一天你想冒险一下,想尝试一下白1和白2是同性恋的关系文章会怎样,或者想尝试一下,武松发现白骨精2是自己的妹妹会有什么样的一个反应。但是又不想动摇当前文章的主线,该怎么办/span>


人民的智慧是无穷的 — 新建文件夹(123)

很明显,这个问题,只要创建一个新建文件夹,然后把旧的文件拖进去就完了,最多在后面标上序号, 于是你有了新建文件夹(1),..(2)…(n)…


出现问题了/em>

啊– 100个文件夹! 好吧,有一天有人向你约稿<<一千零一夜>>, 你会发现你的桌面上的新建文件夹已经多得快放不下了。

啊— 没有层级关系! 所有文件夹全放在桌面上,到底哪一个是我的支线情节/span>

啊— 天知道这几个版本之间有什么区别啊新建文件夹234和236之间有什么区别/span>

啊— 电脑被了谁在我家投了个炸弹搞笑好么/span>

于是悟空还没疯,武松已经替你行了疯的道儿。



1.2 版本控制能为我做什么

  • 我不想新建文件夹。 版本控制会帮你新建一个类似“文件夹”的东西,并且会很明显地给你这个文件夹带上几个信息”时间,描述”。

  • 我需要层级关系。 你需要把这些版本与版本之间的关系解释清楚,谁包含谁,谁是谁的前一版本,这时候版本控制软件更是在行。

  • 我想知道版本之间的区别。 很简单,让它帮你去比较就好了。


1.3 Git 和 Github能帮我做什么

Git 是你亲爱的版本控制软件里的一种,但是它有别于他的亲戚(subversion, cvs)的原因在于,他是分布式(暂时没想明白有什么意义)的,而且速度更快。

Github 就像是一个远端的仓库,你的所有版本都可以推到(Push)仓库里放着一份。这样就能有效地防止炸弹袭击。而你的小Git就是一辆小推车,可以帮助你把版本库推进去,又拉出来。


2. 用Git写《武松三打白骨精》的故事


2.1 让我们有个Git(安装Git)

  这一步真的只能靠你自己了哦. 当然现在讲的是命令行版的(command line)。(你当然可以根据个人喜欢,装个有图形界面的…)

http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup



2.2 建立一个根据地

  现在你要.找一块Git 能开始为你服务的地方,比如一个叫”武松三打白骨精”的文件夹.然后输入git init,git开始能为你服务了


../武松三打白骨精> git init

Initialised empty Git repository in ../武松三打白骨精/.git/



2.3 做爱 做的事

现在可以干正事了,什么是正事东西啊. 于是我在这文件夹里使用记事本新建了一个文件“好人一生平安.txt”, 然后在里面郑重其事地写下了第一段话:”一个男人和三个女人的事故从这开始!”


—— 好人一生平安.txt ——

一个男人和三个女人的事故从这里面开始。

当然你也可以尝试着多写点什么,直到你觉得你的第一版本已经很满意了,今天就到这,那么你就可以选择结束了。



2.4 向你的Git诉说你干了什么

这时你就可以告诉Git,我想要把这个简陋的版本保存一下,作为一个新的版本。用git add 语句就可以你想要保存的文件添加到这个版本的档案里。当然,如果你又修改了一下这个文件,那么还可以用git add 把新文件添加进去(覆盖).相反,你想把已添加的文件取消的话,用git rm –cached即可.

>git add 好人一生平安.txt

>git status

# On branch master

# Initial commit

#

# Changes to be committed:

#   (use “git rm –cached <file>…” to unstage)

#

#new file:   “好人一生平安.txt”


用git status 可以查看已经添加的文件的列表。

最后,你把你想要的东西都添加完了,决定这可以当做一个版本了。于是,提交吧

>git commit -m “就这么决定了,第一个版本! happy

[master (root-commit) 34d53ca] 就这么决定了,1st version

1 file changed, 1 insertion(+)

create mode 100644 “好人一生平安.txt”

commit 命令会很自觉地把你刚才提交的东西集合成一个新的版本(这个版本号为34d53ca)。而且会友好地提示你,新版本里有一个文件做了改变(添加了一个文件).

到此,你的第一个版本已经成功建立了。




来源:gao_chengcheng8

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年3月22日
下一篇 2015年3月22日

相关推荐