原文地址: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)。而且会友好地提示你,新版本里有一个文件做了改变(添加了一个文件).
到此,你的第一个版本已经成功建立了。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!