基于UT4412BV03开发板代码开发的git使用笔记
三星4412开发板 git作为代码管理的工具,是工程师必须会使用的基本工具,一般情况下,对于公司开发一个项目,都是由多人共同合作完成的。例如,友坚科技在开发项目时,在主服务器上建立了一个git代码仓库,维护着此项目的核心代码,在开发时,各个工程师各自克隆一份代码到自己的本地服务器上并用git来管理代码,并创建不同的分支以开发不同的驱动模块,开发完毕再进行分支合并。下面将通过实例的方式说明git常用的命令的使用方式。初学者可以在自己的笔记本上建立自己的git仓库并参考<<git学习手册>>来学习git的使用。下面将说明部分git命令的使用,使用原理请参考光盘资料中的<<git学习手册>>.
一.Git使用的常用命令
在ubuntu上安装git
方式一.使用ubuntu中自带的git代码安装
#apt-get instalgit-core
方式二.使用git源码安装git
安装Git工作需要的包
#apt-get install curl-devel expat-develgettext-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 --globaluser.name "urbetter"
#git config --globaluser.email [email protected]
查看配置信息:
git config --list
二.从指定目录下建立git管理
下面以UT4412BV03开发板的kernel源码做相关实验
1.建立文件并初始化git仓库
#mkdir git_test
#cdgit_test
将kernel源码解压到git_test目录出现文件夹kernel_4.4
#git init //初始化版本仓库
#git add kernel_4.4 //跟踪整个kernel文件
#git status //查看文件状态
#git commit -m ‘提交的一些说明’ //提交文件
提交举例
#git commit -m 'thisis 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 //执行此命令后出现如下图,说明文件在暂存区,可以提交
#gitcommit -m ‘git_test’ //提交
修改文件readme中的内容再次训练提交
修改后执行如下命令查看文件修改后的状态
#git status
如图出现文件修改后未跟踪,此时需要用git add跟踪文件后才能提交
#git addkernel_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 mergetest
将test合并到主分支后可以删除test分支
#git branch -b 分支名
查看分支的最后一次提交的命令
#git branch -v
另外可以用git branch --no-merged 查看尚未合并的工作:
#git branch--no-merged
我们会看到其余还未合并的分支。因为其中还包含未合并的工作,用git branch -d 删
除该分支会导致失败:
# git branch -dtesting
error: The branch 'testing' is not an ancestor of your currentHEAD.
不过,如果你坚信你要删除它,可以用大写的删除选项-D 强制执行,
例如git branch -D testing。
讲到这里相信大家已经对分支的本地使用方式有了基本的认识,能够用这些命令来管理自己笔记本学习时用到的代码,对于服务器上的git使用技巧,请大家参考光盘资料中的<<git学习手册>>.或者利用网络学习相关使用。