学习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. 2018-2-13-win10-uwp-HttpClient-post错误

    title author date CreateTime categories win10 uwp HttpClient post错误 lindexi 2018-2-13 17:23:3 +0800 ...

  2. 关于Django路由层简单笔记

    Django—路由层 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个U ...

  3. WebDriverAgent安装

    这次安装WebDriverAgent的过程可谓坎坷呀,最后还是大牛远程解决问题,自己的确差太远,记录一下过程吧 尽量升级Xcode到最新版,保持iPhone的版本大于9.3 终端进入目标文件夹WebD ...

  4. boost库:函数对象

    函数对象是指那些可以被传入到其它函数或是从其它函数返回的一类函数. 1. boost::bind bind提供了一个机制,是函数与几乎不限数量的参数一起使用,就可以得到指定签名的函数.bind会复制传 ...

  5. 【架构】Linux结构

    Linux系统一般有4个主要部分: 内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用系统.部分层次结构如图1-1所 ...

  6. 二分图最大权匹配——KM算法

    前言 这东西虽然我早就学过了,但是最近才发现我以前学的是假的,心中感慨万千(雾),故作此篇. 简介 带权二分图:每条边都有权值的二分图 最大权匹配:使所选边权和最大的匹配 KM算法,全称Kuhn-Mu ...

  7. jdbc 事物

    package transaction; import jdbc.utils.*; import java.sql.Connection; import java.sql.PreparedStatem ...

  8. mysql5.6和5.7安装 centos

    mysql5.7安装 tar xf mysql--linux-glibc2.-x86_64.tar.gz mv mysql--linux-glibc2.-x86_64 /opt/mysql yum i ...

  9. flutter环境搭建及跑起来demo(多图慎入)

    话不多说,直接上 [1]环境搭建 从git上面clone下来 git clone -b beta https://github.com/flutter/flutter.git 由于国内网络的问题,我就 ...

  10. CentOS 7 & php7.2安装 php-redis 扩展

    CentOS 7 & php7.2安装 php-redis 扩展 1.下载phpredis-developcd /tmpwget https://codeload.github.com/php ...