源代码版本控制的实践指南

源代码版本控制并不是什么新鲜事物,也不是什么高深莫测的技术。无论是大规模软件开发还是内部开发,版本控制代码都可能带来意想不到的便利,并且可以避免许多潜在的问题。

在开始深入了解源代码版本控制之前,通常的做法是在每天工作结束时备份正在工作的项目。虽然这种做法不错,但并不是特别高效。让开始关注源代码版本控制的原因是,有一天没有备份正在工作的项目,并且不小心删除了一个花了四个多小时编写的代码类,那天非常沮丧,因为这意味着浪费了四个小时的开发时间。

源代码版本控制可以通过版本控制系统(VCS)来实现。VCS是一个跟踪文件或文件集随时间变化的系统,以便在需要时可以恢复这些文件。在构建软件时使用VCS是非常明智的,因为它允许文件甚至整个项目回退到之前的状态,可以比较文件随时间的变化,查看谁最后修改了文件,何时修改的,等等。使用VCS还意味着如果搞砸了或者丢失了一些文件,可以很容易地恢复它们。

有各种各样的VCS可供选择,如Mercurial、Bazaar、Perforce、Subversion、Git等。Git是一个强大的VCS,更喜欢它而不是其他的VCS,因为它使用系统上的本地文件和资源来执行所有操作。Git在存储之前会对所有内容进行校验和检查,然后通过该校验和引用。这意味着Git会知道并跟踪它监控的文件或文件夹的任何变化,文件在没有Git检测到的情况下不会损坏。

现在,让开始从下载并安装Windows版本的Git。安装完成后,尝试在系统上右键单击任何文件夹,会看到Windows上下文菜单中添加了两个新的菜单项 - "Git GUI Here"和"Git Bash Here"。因此,可以通过命令行界面(CLI)和图形用户界面(GUI)来控制Git。

为了有效地使用Git,必须理解一些基本的Git shell命令,将尝试在下面解释它们。

由于安装成功完成,系统上的Git需要设置和配置。需要设置用户名和电子邮件地址,这应该在Git安装后完成。所以打开Git Bash,可以通过在系统上右键单击任何文件夹并选择"Git Bash Here"来完成,然后输入以下命令:

$ git config --global user.name "Ayobami Adewole" $ git config --global user.email myemail@myemail.com

应该适当地替换名字和电子邮件地址。

要开始使用Git版本控制和跟踪系统上的现有项目,只需定位包含项目解决方案、文件和其他项目的文件夹,右键单击该文件夹并选择"Git Bash Here"。然后输入以下命令:

$ git init

此命令将在项目文件夹中创建一个名为.git的新文件夹和Git跟踪项目所需的所有必要文件。但此时还没有跟踪任何文件,必须明确告诉Git开始跟踪文件,这可以通过以下命令实现:

$ git add *.cs $ git add info.txt

这些命令告诉Git开始跟踪文件夹中的所有C#文件和一个名为info的文本文件。

并非所有文件和文件夹都需要被跟踪,例如可能需要告诉Git不要跟踪Visual Studio项目的bin子文件夹。为了实现这一点,在Git Bash中输入以下命令以生成.gitignore文件:

$ touch .gitignore

创建此文件后,用记事本打开此文件,并输入不希望Git跟踪的所有子文件夹和文件,然后保存,例如:

*.suo /obj /bin

如果输入命令:

$ git status

可以看到最近修改的所有文件,这些文件尚未提交,可能还有刚刚创建且尚未被Git跟踪的新文件。

要提交所做的所有更改,需要运行以下命令:

$ git commit -a -m 'I just added two new code classes'

此命令将提交更改,-a选项是跳过Git暂存区,-m选项是提交消息。

有时可能不小心搞砸了,需要将文件甚至整个项目恢复到早期状态。假设有一个AccountRepository.cs文件,想取消修改,只需输入以下命令:

$ git checkout -- AccountRepository.cs

此命令将AccountRepository.cs文件的内容恢复到最后一次提交之前的状态。Git的美妙之处在于,任何已提交的更改都可以恢复。

现在,对于像这样不太喜欢使用命令行界面的人来说,有一个扩展GitSource Control Provider,当安装到Visual Studio中时,可以使使用Git变得有趣,因为所有操作都将在Visual Studio的舒适环境中执行,无论是Visual Studio 2008、Visual Studio 2010还是Visual Studio 11 beta。只需从下载扩展,并将其安装到Visual Studio版本中。

将使用Visual Studio 11 beta,但不用担心,因为所有支持的Visual Studio版本的方法都是一样的。创建一个新项目,在这种情况下,创建了一个新的Windows窗体应用程序,并将其命名为GitExample。

当项目成功加载后,右键单击解决方案并选择新建仓库,这将为项目创建一个新的Git仓库和Git所需的文件,甚至会自动为创建一个.gitignore文件,可以稍后编辑。应该看到一个黄色的加号符号,这表明有新文件尚未添加到仓库。

在Visual Studio中,应该看到一个标题为GIT PENDING CHANGES-MASTER的标签文档,通过这个标签,可以提交更改,修改最后一次提交,暂存文件,甚至直接调用GitBash。

在Git标签中,将看到已更改的文件,需要暂存和提交的新文件。要提交更改,在Git标签下,点击已更改文件,选择暂存以暂存文件,然后在评论文本框中输入评论,然后点击提交以提交更改。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485