要在windows上安装Git,目前并没有太多选择。我是安装msysgit,网络上都有安装说明,你在安装上应该不会有太多困难。记得勾bash(命令行)和gui,bash就是命令行操作模式,gui是图形操作介面,但个人感觉git gui不太好用,如果真的不想用命令行,不如安装TortoiseGit(著名的乌龟系列…),它的ui相比之下好用很多。
安装完后,你可以试着在本机任一目录上按右键,然后应该能在选单上看到 Git GUI here 及 Git Bash here 这两个选项。后面文章若提到要执行Git命令,就是在目录上按右键,选择 Git Bash here,它就会跳出Dos视窗,你就可以针对这个目录执行Git命令。
*每个开发者都拥有自己的仓库(Repo)
接下来介绍安装完后,我们如何利用Git“自己跟自己玩”。白话来说,就是在自己的电脑上,自己写code后把变更提交(commit)到自己本机的仓库(Repo)里。
Repo是repository的简称,指的是仓库、程式库、版本库…,简单来说,Repo就是一个受Git版本控制的目录。你可以先找一个空资料夹执行git init来建立新的Repo,若你有装TortoiseGit,就可在空资料夹按右键,选择Git create repository here,意思一样。
当然若你有现成的程式专案目录,也可以直接把它建成Repo,操作跟上述相同。
执行git init后这个资料夹就变成一个Repo了,里头会多一个名叫.git的目录,而Repo在日后进行版本控制时所需的相关资讯都会存放在这个.git资料夹中。(.git目录若砍掉了,这个目录就不再是一个Repo了)
现在Repo目录里啥都没有,所以可以先随便新增一个README来试玩看看,执行:
touch README
执行后就会多一个空白的档案叫README,如果要你放进其他的档案试试看也行,就直接copy放进来吧。
这时我们的repo已经有新档案了,但都还没受到版本控制(untracked),不在版本控制清单中的档案,就不会受到git控制,也就是你要把程式码提交变更(commit)至repo时,这些untracked的档案都不会被放进去。所以要执行add,让档案们进入所谓的staged状态,才能接著把它们commit进Repo中。
要把所有档案都加入staged状态,执行:
git add -A 或 git add .
要把个别的档案加入staged,执行:
git add 主档名.副档名
如果有些档案你不想要再让它受到版本控制了,也就是要把它unstage,那可以执行:
git reset 主档名.副档名
好的,现在确定好要commit第一版程式码了,所以可以执行:
git commit -m ‘Initial commit’
也就是把所有档案commit进repo,并且附上’Initial commit’的说明注解。而日后,如果commit过的档案有再修改过,也需要再add一次成为staged状态,然后再commit它们。
使用TortoiseGit就很方便了,按右键选择选单中的Git Commit → “master”… (请参考上面的选单图),就会出现下图:
按下ok就可以帮你commit了。
在操作过程中,如果想知道目前Repo中的档案们到底是什么状况,到底谁要add,谁要commit,可以执行:
git status
了解了目前档案的状况,如果想要检视一下这个Repo之前commit的历史记录,可以执行git log
(记录显示会一页一页停住,按个q就会跳出来)
在我们每次commit后,都会产生一个新的程式码版本,而这个版本都会有个落落长的唯一编号,日后要进行版本控制的操作时就是认这个编号。
* 出事了,我要回复上一动!(or 上上上..一动)
现在我们可以自己写code,自己commit了,天天记录新进度,感觉很踏实。但有一天发现某功能挫屎了。也许你确定上礼拜这边还没问题的,或某一版一定没问题,这时我们可以利用Checkout来回溯之前的版本:
git checkout xxxx .xxxx指的是版本编号的前四码。
若您使用TortoiseGit,可以点选“Switch/Checkout”这个选项,如果您想切换Branch,可以在此选Branch并切换过去;如果您想回溯程式版本,就选Version,然后点一下后面的…按钮,就会出现如下的画面:
在此你可以看到此Repo所有Commit过的版本,有分支示意图,也有日期、commit注解等,选择你要的版本把它Checkout,就能回溯了。
本篇介绍了如何自己跟自己玩,如果要多人一起玩,要怎么作呢?,github.com 简单又好用!