Git怎么读? 不读吉特,读个一特。注意了。
CVS之前使用diff和patch来进行版本管理
CVS的缺点:
服务器端松散的RCS文件导致在建立里程碑或分支的时候效率低下,服务器端文件越多,速度越慢
分支和里程碑不可见,因为它们被分散记录在服务器端的各个RCS文件中
合并困难重重,缺乏对合并的追踪,从而导致重复合并,引发严重冲突
缺乏对原子提交的支持,导致客户端向服务器端提交不完整的数据
不能优化存储内容相同但文件名不同的文件,因为在服务器端每个文件都是单独进行差异存储的。
不能对文件和目录的重命名进行版本控制,虽然直接在服务器端修改RCS文件名可以让改名后的文件保存历史,但是这样做实际上会破坏历史
SVN的问题:
项目文件在版本库中必须按照一定的目录结构进行部署,否则无法建立里程碑和分支。坑爹的古怪的目录约定:先创建三个顶级目录/trunk /tags /branches
创建里程碑和分支会破坏精心设计的授权,SVN的授权是基于目录的,分支和里程碑也被视为目录,因此每次创建分支和里程碑就要将针对/trunk目录和子目录的授权在新建的分支和里程碑上重建。随着分支和里程碑数量的增多,授权愈加复杂,维护也越来越难。
分支太随意从而导致混乱
虽然在SVN的1.5版本后拥有了追踪功能,但是这个功能会因为混乱的分支管理而被抵消。
jamin@amd6000 ~
$ cygcheck -c cygwin
Cygwin Package Information
Package Version Status
cygwin 1.7.10-1 OK
访问windows的盘符
jamin@amd6000 ~
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
jamin@amd6000 ~
$ cd /cygdrive/d
jamin@amd6000 /cygdrive/d
$ ls
10201_clusterware_linux32.zip
10201_database_linux32.zip
10201_gateways_linux32.zip
AMD690V
AMD_System_Monitor_1.0.0.8
Creative_Ees1371
DotNetNuke_Community_06.01.01_Install.zip
Foxit Reader
GRMWDK_EN_7600_1.ISO
GooglePinyinInstaller.exe
IISTools
Office2003SP1
Oracle_Linux_R4U4_Win32
PowerDesigner12
RECYCLER
SQLServer2005_SSMSEE.msi
SnifferPro
SnifferPro.rar
SysinternalsSuite
System Volume Information
V20651-01.zip
VMware-server-installer-1.0.10-203137.exe
VMware-server-win32-client-1.0.10-203137.zip
Visual.Studio.2008.Team.Suite
Visual.Studio.6.Enterprise.MSDN
Visual_Studio_Team_Edtion_2005
Warcraft III
Windows.Server.2003.ActiveDirectory.配置指南.pdf
WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe
WindowsXP-KB936929-SP3-x86-symbols-update-ENU.exe
adminpak.exe
game
qslice_setup.exe
rac
rktools.exe
textpad472-chn
windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070
xjm作品
jamin@amd6000 /cygdrive/d
$
jamin@amd6000 /
$ locale
LANG=C.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=
CVS之前使用diff和patch来进行版本管理
CVS的缺点:
服务器端松散的RCS文件导致在建立里程碑或分支的时候效率低下,服务器端文件越多,速度越慢
分支和里程碑不可见,因为它们被分散记录在服务器端的各个RCS文件中
合并困难重重,缺乏对合并的追踪,从而导致重复合并,引发严重冲突
缺乏对原子提交的支持,导致客户端向服务器端提交不完整的数据
不能优化存储内容相同但文件名不同的文件,因为在服务器端每个文件都是单独进行差异存储的。
不能对文件和目录的重命名进行版本控制,虽然直接在服务器端修改RCS文件名可以让改名后的文件保存历史,但是这样做实际上会破坏历史
SVN的问题:
项目文件在版本库中必须按照一定的目录结构进行部署,否则无法建立里程碑和分支。坑爹的古怪的目录约定:先创建三个顶级目录/trunk /tags /branches
创建里程碑和分支会破坏精心设计的授权,SVN的授权是基于目录的,分支和里程碑也被视为目录,因此每次创建分支和里程碑就要将针对/trunk目录和子目录的授权在新建的分支和里程碑上重建。随着分支和里程碑数量的增多,授权愈加复杂,维护也越来越难。
分支太随意从而导致混乱
虽然在SVN的1.5版本后拥有了追踪功能,但是这个功能会因为混乱的分支管理而被抵消。
jamin@amd6000 ~
$ cygcheck -c cygwin
Cygwin Package Information
Package Version Status
cygwin 1.7.10-1 OK
访问windows的盘符
jamin@amd6000 ~
$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
jamin@amd6000 ~
$ cd /cygdrive/d
jamin@amd6000 /cygdrive/d
$ ls
10201_clusterware_linux32.zip
10201_database_linux32.zip
10201_gateways_linux32.zip
AMD690V
AMD_System_Monitor_1.0.0.8
Creative_Ees1371
DotNetNuke_Community_06.01.01_Install.zip
Foxit Reader
GRMWDK_EN_7600_1.ISO
GooglePinyinInstaller.exe
IISTools
Office2003SP1
Oracle_Linux_R4U4_Win32
PowerDesigner12
RECYCLER
SQLServer2005_SSMSEE.msi
SnifferPro
SnifferPro.rar
SysinternalsSuite
System Volume Information
V20651-01.zip
VMware-server-installer-1.0.10-203137.exe
VMware-server-win32-client-1.0.10-203137.zip
Visual.Studio.2008.Team.Suite
Visual.Studio.6.Enterprise.MSDN
Visual_Studio_Team_Edtion_2005
Warcraft III
Windows.Server.2003.ActiveDirectory.配置指南.pdf
WindowsXP-KB936929-SP3-x86-symbols-full-ENU.exe
WindowsXP-KB936929-SP3-x86-symbols-update-ENU.exe
adminpak.exe
game
qslice_setup.exe
rac
rktools.exe
textpad472-chn
windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74070
xjm作品
jamin@amd6000 /cygdrive/d
$
jamin@amd6000 /
$ locale
LANG=C.UTF-8
LC_CTYPE="C.UTF-8"
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_ALL=