En 0755-86038900
公司新闻

4412开发板代码开发的git使用笔记

发布时间:2015-03-11

4412开发板代码开发的git使用笔记

 

    基于4412开发代码开发的gitgit作为代码管理的工具,是工程师必须会使用的基本工具,一般情况下,对于公司开发一个项目,都是由多人共同合作完成的。例如,友坚科技在开发项目时,在主服务器上建立了一个git代码仓库,维护着此项目的核心代码,在开发时,各个工程师各自克隆一份代码到自己的本地服务器上并用git来管理代码,并创建不同的分支以开发不同的驱动模块,开发完毕再进行分支合并。下面将通过实例的方式说明git常用的命令的使用方式。初学者可以在自己的笔记本上建立自己的git仓库并参考<<git学习手册>>来学习git的使用。下面将说明部分git命令的使用,使用原理请参考光盘资料中的<<git学习手册>>.

 

一.Git使用的常用命令

在ubuntu上安装git

 

方式一.使用ubuntu中自带的git代码安装

      #apt-get instal git-core

方式二.使用git源码安装git

     安装Git工作需要的包

    #apt-get install curl-devel expat-devel gettext-devel 

     openssl-devel zlib-devel

 

从下面的Git 官方站点下载最新版本源代码:http://git-scm.com/download

  然后编译并安装:

$ tar -zxf git-1.6.0.5.tar.gz

$ cd git-1.6.0.5

$ make prefix=/usr/local all

$ sudo make prefix=/usr/local install

 

获取帮助

想了解Git 的各式工具该怎么用,可以阅读它们的使用帮助,方法有三:

$ git help <verb>

$ git <verb> --help

$ man git-<verb>

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

$ git help config

 

Git安装后需要配置相应的初始信息后才能使用

配置使用者用户名及电子邮箱的方式:(红色字体可以自行修改)

   #git config --global user.name  "urbetter"

   #git config --global user.email  urbetter@fae.com

 

查看配置信息:

   git config --list

 

 

 

二.从指定目录下建立git管理

下面以UT4412BV03开发板的kernel源码做相关实验

 

1.建立文件并初始化git仓库

    #mkdir git_test

    #cd git_test

 

  将kernel源码解压到git_test目录出现文件夹kernel_4.4

    #git init  //初始化版本仓库

    #git add kernel_4.4  //跟踪整个kernel文件

    #git status  //查看文件状态

#git commit   -m  ‘提交的一些说明’  //提交文件

 

  提交举例

    #git commit -m 'this is the first commmit of the original version'

  #git log         //查看提交状态

  

 

在文件夹kernel_4.4下新建git_test用于练习修改文件后的提交 

   #mkdir git_test 

   #cd git_test

   #vi readme  

 

   在readme文件里添加  the first commit保存后执行下面的命令查看文件状态

   #git status  //  如下出现文件未跟踪,这是需要使用下面的命令跟踪文件

   

 #git add git_test  //执行此命令后出现如下图,说明文件在暂存区,可以提交

   

   #git commit -m   ‘git_test’  //提交

 

 

修改文件readme中的内容再次训练提交

   修改后执行如下命令查看文件修改后的状态

     #git status

   

如图出现文件修改后未跟踪,此时需要用git add跟踪文件后才能提交

  #git add kernel_4.4/git_test/readme

 

 

 

出现如上图所示,说明文件已放在暂存区。则可以进行提交工作

 

#git  commit  -m  ‘modify’

#git  log       //提交后查看是否提交成功

 

#git  diff       //用此命令可以查看看具体修改了什么内容(未暂存状态才能用该命令)

#git diff  --cached   //用此命令可以查看具体修改了什么内容(已暂存状态用该命令)

 

 

 

Git下更改文件的名字

#git  mv 原始文件名 新文件名 

 

修改最后一次提交

#git  commit  --amend  

取消已暂存的文件

先查看文件发现文件已经暂存,从提示看出可以怎样取消暂存

 

取消暂存:#git  reset  HEAD  test

 

执行#git  status 发现文件已取消暂存

 

未暂存下取消对文件的修改:

   #git  checkout  test

 

.Git分支的使用

 

有人把git分支模型称为“必杀技特性”,无疑说明了git分支对于开发人员来说是非常重要的,那么git分支有什么功能,我在使用git分支时一般这样,首先有一个master主分支,然后在根据需要建立其他分支,例如,在调试音频驱动时,可以建立一个video分支,调试蓝牙驱动时创建一个blue分支,当我们在各个分支上的驱动调试成功后, 可以将分支合并,合并后可以删除已被合并的分支。

 

 

下面将以实例的方式说明分支的使用:

 

新建分支:

    git branch 分支名

    例:新建一个test分支

    #git branch  test

 

分支切换:

    #git checkout test

 

新建并切换到新建分支上需要加“-b”

    #git checkout -b   分支名

 

分支的合并

    git merge  需要合并的分支名

例:#git merge test

将test合并到主分支后可以删除test分支

    #git branch  -b  分支名

 

查看分支的最后一次提交的命令

    #git  branch  -v

另外可以用git branch --no-merged 查看尚未合并的工作:

    #git branch --no-merged

我们会看到其余还未合并的分支。因为其中还包含未合并的工作,用git branch -d 删

除该分支会导致失败:

    # git branch -d testing

error: The branch 'testing' is not an ancestor of your current HEAD.

 

不过,如果你坚信你要删除它,可以用大写的删除选项-D 强制执行,

例如git branch  -D testing。

 

讲到这里相信大家已经对分支的本地使用方式有了基本的认识,能够用这些命令来管理自己笔记本学习时用到的代码,对于服务器上的git使用技巧,请大家参考光盘资料中的<<git学习手册>>.或者利用网络学习相关使用。