GotGit笔记1

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=



### Git 使用教程与学习笔记整理 Git 是一个分布式版本控制系统,广泛应用于软件开发中的代码管理和团队协作。以下是关于 Git 的使用教程和学习笔记的总结,涵盖基础命令、安装方法及常用操作。 #### 1. Git 安装方法 在不同的操作系统下,Git 提供了多种安装方式: - **Linux 系统**:可以通过包管理器安装,例如在基于 Debian 的系统上使用以下命令: ```bash sudo apt-get install git ``` 如果需要从源码编译安装,则可以依次执行 `./config`、`make` 和 `sudo make install` [^2]。 - **Windows 系统**:推荐使用官方提供的安装包进行安装。此外,已安装 Git 的用户可通过以下命令更新到最新版本: ```bash git update-git-for-windows ``` #### 2. 基础命令 Git 提供了一系列命令用于日常的版本控制操作: - **初始化仓库**: ```bash git init ``` 该命令用于创建一个新的 Git 仓库。 - **克隆远程仓库**: ```bash git clone <仓库地址> ``` 克隆现有仓库到本地,便于后续开发和修改 [^3]。 - **查看状态**: ```bash git status ``` 显示当前工作目录的状态,包括哪些文件已被修改但尚未提交。 - **添加文件至暂存区**: ```bash git add <文件名> ``` 将指定文件添加到暂存区,准备提交。若要添加所有文件,可使用 `git add .` [^3]。 - **提交更改**: ```bash git commit -m "提交信息" ``` 将暂存区的内容提交到本地仓库,并附带一条描述性的信息 [^3]。 - **推送更改至远程仓库**: ```bash git push origin <分支名> ``` 将本地提交的更改推送到远程仓库的指定分支上 [^3]。 - **拉取远程更改**: ```bash git pull origin <分支名> ``` 从远程仓库获取最新的更改并合并到本地分支中。 #### 3. 分支管理 分支管理是 Git 的核心功能之一,允许开发者在同一项目上并行开发多个性或修复 bug。 - **查看分支**: ```bash git branch -v ``` 列出所有本地分支及其最新的提交记录 [^3]。 - **创建新分支**: ```bash git branch <分支名> ``` 创建一个新的分支,但不会自动切换到该分支 [^3]。 - **切换分支**: ```bash git checkout <分支名> ``` 切换到指定的分支,以便在该分支上进行开发 [^3]。 - **创建并切换分支**: ```bash git checkout -b <分支名> ``` 一次性完成创建新分支并切换的操作 [^3]。 - **合并分支**: ```bash git merge <分支名> ``` 将指定分支的内容合并到当前分支中 [^3]。 - **删除分支**: ```bash git branch -d <分支名> ``` 删除不再需要的分支 [^3]。 #### 4. 远程仓库操作 远程仓库通常用于团队协作,确保所有成员都能访问相同的代码库。 - **添加远程仓库**: ```bash git remote add origin <远程仓库地址> ``` 将远程仓库与本地仓库关联起来 [^3]。 - **查看远程仓库信息**: ```bash git remote -v ``` 显示所有远程仓库的详细信息 。 - **推送本地分支到远程仓库**: ```bash git push -u origin <分支名> ``` 将本地分支推送到远程仓库,并设置为默认跟踪分支 [^3]。 #### 5. 日常开发流程 在实际开发过程中,建议遵循以下步骤以保持良好的版本控制习惯: 1. 拉取远程仓库的最新代码: ```bash git pull origin main ``` 2. 添加所有修改的文件到暂存区: ```bash git add . ``` 3. 提交更改并附带清晰的提交信息: ```bash git commit -m "描述本次提交的内容" ``` 4. 推送更改到远程仓库: ```bash git push origin main ``` 通过以上流程,可以有效地管理项目的版本历史,并与其他开发者协同工作。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值