Git

一. 配置用户信息
[crayon lang=”sh”]
$git config –global user.name “Yuzifu”
$git config –global user.email “yuzifu@mycompanydomain.com”[/crayon]

二. 创建仓库
[crayon lang=”sh”]
$git init
$git add -A
$git commit -m “Initial work space.”[/crayon]

三. 恢复到之前提交的版本
1. 临时恢复
[crayon lang=”sh”]
$git checkout [VersionNO] [FileName/DirectoryName][/crayon]

如果没有指定 VersionNO , git 会恢复到最后一个提交的版本.
VersionNO 不一定要写全, 只要能识别, 可以是VersionNO的前 N 个字符.
VersionNO 可以是 “HEAD” , 表示当前 branch 的最后一个提交的版本, “HEAD^” 表示父版本, “HEAD^^” 表示祖父版本, “HEAD~4″ 表示祖父之祖父版本.

如果指定了文件名或目录名, git 会只恢复指定的内容, 并且是以静默的方式覆盖原有内容.

如果这时编辑并提交, git 会创建另一个 branch .
要回到原来的版本, 恢复默认 branch 即可.
[crayon lang=”sh”]
$git checkout master[/crayon]

2. 永久恢复
[crayon lang=”sh”]
$git reset –hard [VersionNO][/crayon]

如果没有指定 VersionNO , git 会恢复到最后一个提交的版本.
VersionNO 不一定要写全, 只要能识别, 可以是 VersionNO 的前 N 个字符.
VersionNO 可以是 “HEAD” , 表示当前 branch 的最后一个提交的版本, “HEAD^” 表示父版本, “HEAD^^” 表示祖父版本, “HEAD~4” 表示祖父之祖父版本.

如果 git 里包含有比指定 VersionNO 更新的版本, 则在执行此动作后, 更新的版本都会永久删除.

四. 查看
1. 查看日志
[crayon lang=”sh”]
$git log[/crayon]

2. 查看状态
[crayon lang=”sh”]
$git status[/crayon]

3. 查看差异
[crayon lang=”sh”]
git diff[/crayon]

五. Remote
1. 创建远程仓库
远程仓库位于 windows 共享
[crayon lang=”sh”]
$pushd ///PathToRepo/
$git init –bare
$git popd[/crayon]

2. 添加远程仓库
[crayon lang=”sh”]
$git remote add [/crayon]

3. 显示远程仓库
[crayon lang=”sh”]
$git remote show [RemoteName][/crayon]

4. 从远程仓库获取更新
[crayon lang=”sh”]
$git fetch [/crayon]

5. 合并远程仓库的更新
[crayon lang=”sh”]
$git checkout master
$git merge /[/crayon]


[crayon lang=”sh”]
$git pull [/crayon]

6. 推送本地更新到远程仓库
[crayon lang=”sh”]
$git push [/crayon]

Windows 8使用感受

自从MSDN发布之后,我就安装了Windows 8,使用的时间不长,才一个礼拜。我使用的用途也很简单,家用电脑上个网,娱乐什么的,连第三方游戏也没安装。所以可以说这是第一感受。

一、欢迎屏幕
Win8的“欢迎屏幕”使用起来感觉很新鲜,但是这种感觉很快就被不便替代了。比如说你要找程序,你只能通过“搜索”功能或者是磁贴和快捷方式的来解决,这种操作方式对于根深蒂固的“开始菜单”来说,太不方便了。所以没有“开始菜单”就不知道怎么玩了,并且我也没觉的“欢迎屏幕”有多易用,这对不管是新手还是熟手来说都不会是一个受欢迎的改变。

二、Metro
Metro纯粹是为触摸屏而生的UI,在PC上使用除是浪费屏幕空间还总是显的那么的格格不入。所以像图片音乐视频等文件有自带查看器的,我都改成了桌面程序来打开了,因为我不想总是看个图或者听几首歌什么的还要全屏。

三、窗口风格
Win8的窗口风格乍一看起来巨丑,没Aero也没Shadow。可是使用一段时间后还是发现了它的优点,MS说的没错,这种风格不会分散你的注意力。只是有一点可能它们也没考虑到:当把窗口设为暗色时,非激活窗口的文字还是黑色,这会造成什么后果,试了就知道了。

四、开关机
快!真的非常快。即使关闭“快速开机”,也一样的快,如果我用的是SSD,我估计还会更快。这种愉乐的心情即使被MS脑残式的关机步骤设计冲击也没减少几分,是的没错,关机功能被隐藏的很深,这让人很郁闷。
另外需要特别留意的是,”快速开机”有一个严重的Bug,触发条件是使用双硬盘。

五、方便的功能
在实用性方面,Win8有几个地方值的称赞。一是截屏,使用Alt+Print Screen快捷键就可以把屏幕截下来自动保存在图片库里。二是资源管理器的Ribbon工具,操作方便多了。三是虚拟光驱,现在可以直接加载iso格式的文件,挂在虚拟光驱里。四是资源管理器非常棒,各种信息一目了然。五是Win To Go,真是移动办公的好帮手啊!

六、不兼容性
我的文字输入方式是五笔,在桌面程序下大多数五笔输入法都能用,可是在Metro界面通通失灵了,这个问题是很影响情绪。另外我在支付财付通的时候,发现财付通的居然显示不正常,这很让人无语,当然我知道这个问题其实跟IE10没什么关系。

在Windows上安装PostgreSQL

之前我记录了一篇手工在Windows上安装PostgreSQL的文章,刚才在安装PostgreSQL 9.0.3时发现了另一种方法,可以比手工安装更快速些。

,下载PostgreSQL安装包
下载的文件的名称为postgresql-9.0.3-1-windows.exe

,安装PostgreSQL程序
要注意的是,PostgreSQL必须要安装在NTFS格式的分区里。

特别要注意,locale不可以选择Default,如果为了省事,在这里可以选择“新加坡”,这样安装后可以直接使用,无需进行后续的步骤。在这里我选择“新加坡”,但是我还是会进行后续的步骤。

,更改Windows帐号postgres的密码
在安装过程中把locale选择“新加坡”后,可以正常安装。安装过程会给Windows添加一个名为postgres的帐号,为了安全,先修改这个帐号的密码。

,停止PostgreSQL服务
在管理工具的服务项里找到PostgreSQL服务,把它停止。并把此服务登录的身份帐号密码修改为第三步修改后的新密码。

,删除PostgreSQL程序目录下的data目录

,在控制台切换到postgres用户
C:\>runas /noprofile /env /user:postgres "cmd"

因为PostgreSQL安装程序在Windows里注册PostgreSQL服务时指定的是使用postgres这个Windows帐号作为登录身份,所以初始化数据库时必须也是这个帐号,否则PostgreSQL服务将无法启动。

其实不切换到postgres用户,PostgreSQL也能正常初始化数据库,但基于上面提到的原因,如果PostgreSQL服务指定的登录身份帐号与初始化数据库时所用的帐号不一致时,PostgreSQL服务将无法启动。

,初始化数据库
这里假设PostgreSQL程序安装在D:\PostgreSQL目录下。在第六步新弹出的窗口里执行以下命令:
D:\PostgreSQL>bin\initdb.exe -D "D:\PostgreSQL\data" -E UTF-8 --locale=chs -A md5 -U admin -W

如果不加-U admin -W,则PostgreSQL数据库的超级用户是执行初始化命令时的当前Windows帐号。因为是切换到postgres这个Windows帐号里进行初始化数据库操作的,所以这时PostgreSQL的超级用户将是postgres。

,在管理工具的服务项里启动PostgreSQL服务

手工安装PostgreSQL 9.0

题记:自8.4版本以来,使用自动安装包安装postgresql到windows时,若使用默认locale,总是会在初始化数据库的时候出错。今天9.0版本发布了,下载安装时发现存在同样的问题,于是爷怒了,去TM的自动安装包,老子以后纯手工安装,再不要什么鸟安装包了。

一、下载解压

1,下载postgresql-9.0.0-1-windows-binaries.zip

2,解压postgresql-9.0.0-1-windows-binaries.zip到D:\

二、添加用户

1,添加windows用户,用于启动PostgreSQL的windows服务
D:\pgsql>net user postgres pgsqlpw /add /expires:never /passwordchg:no

2,为保证安全,此用户不允许本地登录
D:\pgsql>net localgroup users postgres /del

3,赋于windows用户postgres访问PostgreSQL安装目录的权限
D:\pgsql>cacls . /T /E /P postgres:R

三、初始化数据库

1,切换到windows用户postgres的命令行环境
D:\pgsql>runas /noprofile /env /user:postgres "cmd"

2,初始化数据库,若不使用-U admin,则数据库里自动添加当前windows用户(即postgres)为数据库帐号
D:\pgsql>bin\initdb.exe -D "D:\pgsql\data" -E UTF-8 --locale=chs -A md5 -U admin -W

3,启动数据库
D:\pgsql>bin\pg_ctl.exe -D "D:\pgsql\data" -l logfile start

4,停止数据库
D:\pgsql>bin\pg_ctl.exe -D "D:\pgsql\data" stop

四、注册为Windows服务

1,注册为windows服务,当前windows用户(即postgres)将作为PostgreSQL服务的登录用户
D:\pgsql>bin\pg_ctl register -N PostgreSQL  -D "D:\pgsql\data"

2,启动PostgreSQL服务
D:\pgsql>sc start PostgreSQL

文件服务器

1,使用windows,打开文件共享,其身份验证即可使用AD方式,也可添加服务器本地用户来控制。

2,使用windows,安装ftp服务器,身份验证由ftp服务器完成。

3,使用unix/linux,安装ftp服务器,既可由ftp服务器进行身份验证,也可以OS完成。

4,使用unix/linux,安装samba,既可用samba或模拟成AD完成身份验证,也可结合ldap完成。

 

对于即将要升级的文件服务器,我还无法确实使用SMB还是FTP,这真是一个头疼的问题。