学习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. Centos 安装vnc / vncserver

    一.安装 以root用户运行以下命令来安装vncserver; yum install tigervnc-server 同样运行以下命令来安装vncviewer; yum install vnc 停止 ...

  2. vue实现全选反选--简单使用

    最近需要用到vue的反选全选功能,于是就在网上找了一些代码实现,发现都不能够完美的实现.于是乎决定自己写出一套.经过一翻努力,完美了进行了实现.bug也已经修复完毕,希望能够帮助到大家!   < ...

  3. java 深入剖析ThreadLocal

    一.对ThreadLocal中的理解 ThreadLocal的,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多.可能很多朋友都知道的ThreadLocal为变量在每个线程中都创建 ...

  4. Guarded Suspension模式简单实现

    Guarded Suspension 意为保护暂停,假设服务器很短时间内承受大量的客户端请求,客户端请求的数量超过服务器本身的即时处理能力,而服务器又不能丢弃任何一个客户端请求,此时可以让客户端的请求 ...

  5. springCloud配置(microServiceProvider)

    server: port: 8001 mybatis: config-location: classpath:mybatis/mybatis.cfg.xml # mybatis配置文件所在路径 typ ...

  6. 小程序推送消息(Template)

    最近搞小程序模拟推送消息,才发现小程序推送消息接口准备下线. 请注意,小程序模板消息接口将于2020年1月10日下线,开发者可使用订阅消息功能 咱们现在有需求,所以不管下不下,完成再说. 一:”获取a ...

  7. php wordwrap()函数 语法

    php wordwrap()函数 语法 wordwrap()函数怎么用? wordwrap()函数表示按照指定长度对字符串进行折行处理,语法是wordwrap(string,width,break,c ...

  8. UNP学习 广播

    一.概述 虽然UDP支持各种形式的地址,但TCP只支持单播地址. 上图要点是: IPv4对多播的支持是可选的,而IPv6则时必须的. IPv6没有提供对广播的支持:当使用广播的IPv4应用程序一直到I ...

  9. sequel 远程连接 MySQL 连接错误Can't connect to MySQL server on (61)

    Mac sequel Pro链接时报错Can’t connect to MySQL server on ‘xx.xx.xx.xx’ (61). PS. win版Navicat 报错Can’t conn ...

  10. 前端每日实战:80# 视频演示如何用纯 CSS 创作一个自行车车轮

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/XBXEPK 可交互视频 此视频是可 ...