ios怎么用gitgit 进行版本控制制

近来要使用Git作为新项目的版本控制,抽出时间来恶补 了下,主要参考是《Pro Git》,如果用心看了这本书,我下面的内容可以不用看了。下面主要是在centos下搭建了安装了Git,然后作为一个对项目内部的版本控制。


(地址可以自己寻找合适的,上面地址下载以后为master,需要改名为master.zip)

测试是否配置正确 

(若无法克隆,说明安装有问题,不是绝对路径)

第一次需要通过这样的方式生成项目仓库

之后,就可以在外部克隆仓库了..

基本的服务端和客户端都已经实现了,可以用git来作为项目的版本控制了

}

Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。

那么Git之父是谁呢?

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

从一般开发者的角度来看,git有以下功能:

1:从服务器上克隆数据库(包括代码和版本信息)到单机上。

2:在自己的机器上创建分支,修改代码。

3:在单机上自己创建的分支上提交代码。

4:在单机上合并分支。

5:新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6:生成补丁(patch),把补丁发送给主开发者。

7:看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8:一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。

1.直接快照,而非比较差异

git和其他版本控制系统的主要差别在于,git只关心数据的整体是否发生变化,而大多数其他系统只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar等待)每此记录有哪些文件进行了更新,以及都更新了哪些行的什么内容。

git并不保存这些前后变化的差异数据。实际上,git更像睡觉哦把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一次快照,然后保存一个指向这次快照的索引。为提高性能,若没有文件变化,git不会再次保存,而只对上次保存的快照作一连接。

2.近乎所有操作都可以本地执行

在git中的绝大多数操作都只需要访问本地文件和资源,不用联网。因为git在本地磁盘上就保存着所有有关当前目录的历史更新,所以处理起来速度飞快。

3.时刻保持数据完整性

git建立在整体框架的最底层,当文件传输变得不完整,或者磁盘损坏导致文件数据缺失时,git都会察觉。

staged(已暂存):表示把已经修改的文件放入下次提交时要保存的清单中。

modified(已修改):表示修改了整个文件,但是还没有提交保存。

committed(已提交):表示该文件已经安全地保存在本地数据库中了。

如果要在linux上安装预编译好的git二进制包,可以直接用系统提供地包管理工具。在fedora上用yum安装:

2.git的使用操作命令

比如要学习config命令可以怎么用,运行

10.查看提交历史记录

1.撤销加入到暂存区的操作

3.将本地的修改放进回收站

4.从回收站中回复本地的修改

4.对之前的提交打tag

3.更新远端仓库的分支和数据

4.获取并合并远端仓库的分支到当前分支

5.上传本地分支和数据到远端仓库

6.跟踪远端分支上的分支


}

安装完git后,我们看到,QtCreator已经检测到了git的存在。在版本控制和工具菜单里面都有git选项。 网上有大量git命令行相关的文章,我也不再赘述了,我就介绍git怎样和QtCreator一起使用。注意:QtCreator按照规范将路径中的所有中文转为\nnn(n为一个数字)的形式,在git中这样会导致定位失败(因为git可以识别中文路径)。

创建一个新的项目吧,快捷键Ctrl+n。记得项目的路径中不能有中文,必须是纯英文的形式,在这里我建立一个名为“test”的纯C项目。

点击下一步,出现版本控制的选项,选择git,如下图。我们在创建项目的时候会有一个.user文件,保存了一些用户杂项配置,但是不同用户的喜好不同,因此此文件并没有被git管理,不得不说QtCreator这一点为我们考虑得十分细致。

下一步,接下来就不要我说了吧,完成。创建了一个纯C的项目,其实就是HelloWorld。我们假设这个HelloWorld就是第一个版本,我们要将这个版本作为初始版本,那么我们应该点击“工具?Git?Commit……“作为我们的第一次提交,也是第一个版本。

填写作者和Email信息后,就可以写说明了。这里对“说明”输入框作一些说明:首先在我这个QtCreator版本一输入中文就崩溃(自动退出),很恼人的,所以这次我就没有填写中文信息了,但是使用git命令(命令:gitcommit,打开GNUnano编辑器)就可以填写中文。此外注意了吗?第一行是用粗体标志的呢,第二行为空,这是因为很多的信息服务(如接下来介绍的log)会将第一行作为题目,后面的作为正文。命令

填写好了,并且选择了需要提交的文件之后,点击提交,这样git就为我们储存了一个版本的信息了。

想要看看自己提交的版本信息吗?点击“工具?Git?Log“,可以显示提交的版本信息。如下图:

点击2552bae,就会显示用英文显示的版本信息,英文不好的同学们就糟糕了……

接下来我就要对这个项目做一些修改了,我们让它再显示一个文字:Hellogit!,并且命名这个版本为1.1。首先我们对源文件main.c进行修改,修改后的main.c如下所示:

其中蓝色字体部分是我们添加的。接下来我们保存一下,但这并不意味着提交到git中了,因为当你点击“工具?Git?状态“时,下面的输出会显示这一串文字:

显示了我们的main.c已经修改,但未提交至git(test.pro.user未受git管理,因为上文说过了,每一个用户杂项都由一个.user保存着,失去它不会对项目的设置构成影响)。于是我们还得再提交(commit)一下了。

填完了后点击提交,新的版本1.1就完成了。怎么样,是不是很简单啊。

查看一下log(工具?Git?Log),现在有两个版本了!

假设我们的1.1版本写得不好,或者把原有的代码改混乱了,我们想还原到原来的版本1.0那该怎么办呢?很简单,使用gitk就可以解决问题。打开gitk,出现这样的界面:

选择Ver1.0,点击右键,选择“Resetnaster branch tohere”,在弹出的对话框中选择Hard,并且单击OK就完成了版本的还原。需要注意的是,选择Hard模式意味着在新版本上的一切修改都作废,所以要慎重处理。


回到QtCreator界面,发现提示重新载入文件,点击“全部是”就可以了。

}

我要回帖

更多关于 git 进行版本控制 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信