GIT服务器搭建

GIT服务器搭建

本文档默认前提是操作系统为Ubuntu Kylin 15.04QT Creator 是3.4.2版本,解决:

1、 GIT服务器搭建

2、   GIT在QT Creator上的使用

请检查相应软件安装情况,如系统已经正确安装部分软件,可略过。

一、 搭建服务器

1. 搭建服务器

1) 首先,创建一个‘git’用户并为其创建一个.ssh目录,在用户主目录下

$ sudo adduser git

$ su git

$ cd

$mkdir .ssh

2) 接下来,把开发者的SSH公钥添加到这个用户的authorized_keys文件中。

$ cat id_rsa.steven.pub >> ~/.ssh/authorized_keys

$ cat id_rsa.xiaohei.pub >> ~/.ssh/authorized_keys

$ cat id_rsa.Echo.pub>> ~/.ssh/authorized_keys

    注意:rsa.Echo.pub(可以自定义名字,保证文件后缀不变,取个名字,便于分辨用户)

3) 现在可以使用--bare选项运行git init来设定一个空仓库,这会初始化一个不包含工作目录的仓库

$ cd /git

$ mkdir project.git

$ cd project.git

$ git --bare init;

4) 这时,开发人员就可以把它加为远程仓库,推送一个分支,从而把第一个版本的工程上传到仓库里了。

2. 客户端

1) 下载git到本地

$ sudo apt-get install git

  (如果提示没有的话,先sudo apt-get update更新下软件源,sudo apt-get upgrade更新软件)

2) 建一个本地仓库

$ git init

(选择或新建一个空目录,之后命令行状态所有git操作都要在仓库下进行)

3) 把仓库中的工程克隆到本地

$ git clone git@gitserver:/home/git/project.git

   (gitserver是服务器的ip地址,目前是222.295.116.46

;如果暂时不需要远程仓库的内容,这一步可以省略)

4) 第一次推送需要添加远程仓库

$ sudo remote add origin git@gitserver:/home/git/first/project.git

(origin是你对这个远程仓库的代号,可以自取,但是以后推送时要记得)

5) 接下来就可以进行推送或者抓取等等一系列git操作了,这里不做详细说明,请自行搜索git教程

 

二、 git在qt中的使用

1. 新建项目,快捷键Ctrl+n。记得项目的路径中不能有中文,必须是纯英文的形式,在这里我建立一个名为“test”的qt项目。(项目路径是你创建的本地仓库,即你刚才执行git init所在的目录,以后所有你想要加入代码管理的qt项目都要放在这个目录下)

 

 

 

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

 

3. 下一步,完成。创建了一个qt的项目,其实就是HelloWorld。我们假设这个HelloWorld就是第一个版本,我们要将这个版本作为初始版本,那么我们应该点击“工具➡Git➡Local Repository➡Commit“作为我们的第一次提交,也是第一个版本。

 

 

4. 填写作者和Email信息后,就可以写说明了。此外注意了吗?第一行是用粗体标志的呢,第二行为空,这是因为很多的信息服务(如接下来介绍的log)会将第一行作为题目,后面的作为正文。命令填写好了,并且选择了需要提交的文件之后,点击提交,这样git就为我们储存了一个版本的信息了。

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

 

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

 

7.  接下来我们保存一下,但这并不意味着提交到git中了,因为当你点击“工具➡Git➡LocalRepository➡状态“时,下面的输出会显示这一串文字(命令行状态下可用git status查看目前工作目录的状态):

 

8. 显示了我们的main.qml已经修改,但未提交至git。于是我们还得再提交(commit)一下了。

 

9. 填完了后点击提交,新的版本1.1就完成了。

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

 

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

 

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

 

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

 

 

 

 

14. 提到版本控制,就不得不提到它的一个重要的功能:分支功能。假如我们制作项目需要一些差异化的版本(例如Windows7家庭版和Windows7旗舰版等),但是它们都是拥有相同的部分,仅仅有一些部分是不同的,那么我们完全可以先制作相同的底层部分,然后创建多个分支,分别制作,这样可以拥有两个版本进行评估,最终选择一个更好的版本,也可以两个版本分别发售。在这一点上,git又帮了我们大忙,下面我就介绍在QtCreator上是怎样使用git的分支功能的。

15. 首先打开QtCreator,点击“工具➡Git➡Log”来查看我们的Log。如下图:

 

16. 我们看到第一行中间的括号(HEAD,master),它表示了当前head指针指向的是这个版本,并且这个版本所在的分支是master。怎样查看分支呢?很简单,点击“工具➡Git➡LocalRepository➡分支列表”就行了。

 

17. 这里有一个master分支,正是我们以前编辑的分支。接下来我们创建另外一个分支,点击“添加”,创建一个名为dev的分支吧(不要选“跟踪本地分支master”)。然后我们先点击dev分支,然后点击checkout中的”yes”来切换到dev分支。关闭对话框,接下来的动作就在dev分支上进行了。

 

 

18. 我们在main.qml上进行一点修改,将Hello World改为Hello World123

 

19. 编译运行后我们可以提交这段代码。我们就将这段代码的版本定义为1.2a,提交界面如下图所示:

 

20. 提交完了后查看版本信息:

 

21. 此时HEAD指针指向了dev分支里面的Ver.1.2a版本了。

22. 这个版本也算是成功的了,我们转向另一个版本,我想让Hello World改为Hello World456。首先我们要将HEAD指针回调。点击“工具➡Git➡LocalRepository➡分支列表”,点击master分支进行checkout(检出),切换到master分支,我们看到我们的main.qml回到了原来的状态。查看一下Log看是否正确地切换?接下来我们再对main.qml进行修改,让它变成Hello World456:

 

23. 提交一下,这次将其的版本命名为Ver.1.2b,这样我们项目的两个版本都做好了。如果我们想查看dev分支下的当前版本Ver.1.2a的情况,仍然可以使用“工具➡Git➡LocalRepository➡分支列表”并对dev进行checkout就可以了。

 

24. 嗯,我想知道这两个版本究竟有什么不一样,要来回切换分支并且花很长的时间来找不同吗?哪有这么麻烦,很简单,使用“工具➡Git➡LocalRepository➡分支列表”,选择一个分支,这里是dev,点击Diff,来看看和已经checkout了的master分支究竟有什么不同。下面是截图:

 

 

 

25. 当你想把自己的代码上传到服务器上时(首先把项目所在的文件夹设为本地仓库),使用“工具➡Git➡Remote Repository➡Manage Remotes”,添加远程仓库,点击“push”,就可以把自己改动的代码上传到服务器上了。

 

 

26. 如果提示有与本地不同的提交,则先按照“git pull 版本库名  分支名:分支名”的格式,将远程更新拉到本地,然后再次提交

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值