学习linux内核一段时间,意识到内核的版本需要严格控制。利用Git工具可以很轻松的完成不同开发人员不同模块之间的代码融合与版本控制 。

1. 首先,安装Git .可以参考廖雪峰的博客  https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  针对Windows版本安装好了git 之后,需要设置系统环境变量,把HOME对应的环境变量,设置为,C:/user/your_account

2. 然后 新建一个目录 mkdir my_git 新建本地git工程

  root@ubuntu:# cd my_git

  root@ubuntu:# git init

2.1 如果希望托管GIT工程到远程服务器,比如Github,首先需要在github上创建一个空的repo仓库。获取仓库的url:http:xxxx.git

2.2 如果远程服务器上已经有对应的Repo仓库,可以忽略 2,2.1 这两步

3.如果服务器上已经有了一个git工程 只需要把服务器端的工程拉下来就可以。

  git clone root@172.16.11.25:/media/iecu/lancelot/Rcar-H3-Git/

(拉取想要的分支文件)

  origin

-》 i-ECU-B1

>   i-ECU-B2

git pull <远程主机> <远程分支>:<本地分支>

root@ubuntu:# git pull origin master    (git pull origin i-ECU-B2)

3.1如果希望把本地git init的 仓库同步到服务器端可以:

  root@ubuntu:# git remote add origin root@172.16.11.25:/media/iecu/lancelot/Rcar-H3-Git/ 

 (root@172.16.....就是服务器仓库的url:xxxx.git)

(推上想要的分支文件)

$ git push <远程主机名> <本地分支名>:<远程分支名>

root@ubuntu:# git push -u origin master

       (git push -u origin i-ECU-B2)

      hutian@ubuntu:~/git-B2$ git branch -a
      * master
      remotes/origin/i-ECU-B2

4. 这时会在my_git 上看到从服务器上pull下来的工程,接下来就是开发人更新自己的代码和注释了

root@ubuntu:#vim kernel-source/drivers/gpu/drm/bridge/dw-hdmi.c

root@ubuntu:#git add ./kernel-source/drivers/gpu/drm/bridge/dw-hdmi.c

root@ubuntu:# git commit -m "set hdmi connector detect always connected"

5. 对工程中的文件删除代码

首先删除文件夹或者文件

root@ubuntu:# rm -rf Rcar-H3-Git/

然后删除git中的备份文件

root@ubuntu:# git rm Rcar-H3-Git/

同步commit,更新git

root@ubuntu:# git commit -m "clear wrong Rcar-H3-Git"

6.恢复修改之前的工程代码

查看git 的 logs

root@ubuntu:# git log

root@ubuntu:/home/hutian/git# git log
commit d3381d5b0465a34ef70fd56e50243d14f2305dd7
Author: hutian <@qq.com>
Date: Tue Mar :: +

回到之前一个更新commit的状态  (回到前两个用HEAD^^)

root@ubuntu:# git reset --hard HEAD^

回到特定的commit 利用log中的commit ID  d3381d5b.....(只需要前几个字母就好)

root@ubuntu:# git reset --hard  d3381d5b

完成代码恢复功能

7.同步本地git工程和服务器端git工程

$ git push <远程主机名> <本地分支名>:<远程分支名>

root@ubuntu:# git push -u origin master

       (git push -u origin i-ECU-B2)

      hutian@ubuntu:~/git-B2$ git branch -a
      * master
      remotes/origin/i-ECU-B2

上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。 
origin是一个远程厂库地址

至此 ,完成简单的Git代码管理功能

  • 方式一:修改远程仓库地址

    【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。

  • 方式二:先删除远程仓库地址,然后再添加

    【git remote rm origin】 删除现有远程仓库 
    【git remote add origin url】添加新远程仓库

git remote -v 】查看远程仓库

查看分支   git branch -a   或者-r

删除本地分支:git branch -d  非空 用 -D

跳转分支  用 : git checkout   xx分支

创建新分支 : git checkout -b 新分支,在xx分支下

上传到新分支 :git push origin camera_v1:camera_v1

删除远程fromdevelop分支  git push origin :fromdevelop

解决GIT 上传下载Bash 脚本错误的问题  ,git config --global core.autocrlf false

未完待续。。。。

ubuntu 下 使用 Git 维护 linux kernel版本的更多相关文章

  1. Ubuntu下OpenCV不能被某个python版本识别

    Ubuntu下OpenCV不能被某个python版本识别 Solution: 可以进入相应版本的python,查看该python的path: python import sys print(sys.p ...

  2. Ubuntu下使用git提交代码至GitHub

    一.Ubuntu下安装Git Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装. 如果没有安装,使用命令: sudo apt-get insta ...

  3. ubuntu下的git版本创建

    一.git的特点 二.gei的安装和配置 1.安装命令如下 sudo apt-get install git 2.安装成功后输入 git 3.创建版本库 git init 4.使用 先创建一个txt文 ...

  4. ubuntu: qemu+gdb 调试linux kernel 学习笔记

    声明: 本笔记内容并非本人原创,90%来自网络资料的整合.同时,由于自己是刚刚接触qemu & gdbserver remote debug,本文也就算不得教程,仅供有缘人参考而已. ---- ...

  5. ubuntu下安装git,sublime,nodejs

    用的是VMware10.0版本的虚拟机,很早之前下载的今天就直接用了,安装挺简单记得需要一个序列号.在这里:http://mirrors.163.com/ubuntu-releases/15.04/u ...

  6. Ubuntu下使用Git和GitHub

    刚刚学习git和github,网上的知识太杂太乱.照着折腾了很长的时间,都没有搞出个结果,心里十分痒痒,最后终于在github上看到成果.本文适合刚刚接触github但是急于想看到效果的同学,当然gi ...

  7. Ubuntu下安装Git以及Git帮助手册【转】

    转自:http://milkythinking.com/blog/2011/04/17/install_git_and_manual/ Git简介 Git是一个分布式版本控制系统,对应的是SVN.CV ...

  8. 使用 GIT 获得Linux Kernel的代码并查看,追踪历史记录

    Linux kernel  的官方 GIT地址是: http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git 可以从这个地 ...

  9. linux ubuntu下如何安装并且切换java版本(Unsupported major.minor version 52.0)

    最近在做一个dcos(数据中心操作系统)的东西,需要用marathon来做进程管理.遗憾的是0.6版本的marathon在API方面很是缺少,换成了0.15版本之后,运行时提示“Unsupported ...

随机推荐

  1. Redis 设置权限密码,以及如何开启关闭设置

    linux redis 设置密码:   在服务器上,这里以linux服务器为例,为redis配置密码. 1.第一种方式 (当前这种linux配置redis密码的方法是一种临时的,如果redis重启之后 ...

  2. JS 富文本编码、解码

    第一种 escape()和unescape()方法 escape() 方法能够把 ASCII之外的所有字符转换为 %xx 或 %uxxxx(x表示十六进制的数字)的转义序列.从 \u000 到 \u0 ...

  3. wpf 查找控件

    public List<T> GetChildObjects<T>(DependencyObject obj, Type typename) where T : Framewo ...

  4. (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 错误

    使用网页版jupyder在读取桌面文件时,刚开始我的代码是: baseball = pd.read_csv('C:\Users\TuZhiqiang\Desktop\result.csv')print ...

  5. #2560异或和问题 jdfz集训—秦岳

    题目描述 N个数字,要求选择M次,每次从N个数中选出两个数(Ai,Aj)(但不能和之前某次选择相同),此次选择的得分为Ai xor Aj. 求最大得分. 输入格式 第一行包含两个整数N,M 接下来一行 ...

  6. while循环语句基础

    while循环语句基础 一while循环语句介绍 循环语句命令常用于重复执行一条指令或一组指令,直到条件不再满足时停止,   Shell脚本语言的循环语句常见的有while, until, for及s ...

  7. <自动化测试>之<selenium API 查找元素操作底层方法>

    搜罗了一些查找元素的除标准语句外,另外的语句使用方法,摘自 开源中国 郝云鹏driver = webdriver.Chrome(); 打开测试页面 driver.get( "http://b ...

  8. nginx 配置多服务器代理

    找到 nginx > conf目录中nginx.conf #user nobody; worker_processes 1; #error_log logs/error.log; #error_ ...

  9. CentOS 6.9 安装配置zeromq、jzmq

    官方安装配置链接 安装zeromq 步骤一.准备C语言环境 yum -y install gcc-c++ 步骤二.解压缩zeromq tar -zxf zeromq-4.1.6.tar.gz 步骤三. ...

  10. 【从0到1,搭建Spring Boot+RESTful API+Shiro+Mybatis+SQLServer权限系统】05、Shiro集成

    1.POM文件中加入Shiro和fastJSON依赖 <dependency> <groupId>org.apache.shiro</groupId> <ar ...