ubuntu 下 使用 Git 维护 linux kernel版本
学习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版本的更多相关文章
- Ubuntu下OpenCV不能被某个python版本识别
Ubuntu下OpenCV不能被某个python版本识别 Solution: 可以进入相应版本的python,查看该python的path: python import sys print(sys.p ...
- Ubuntu下使用git提交代码至GitHub
一.Ubuntu下安装Git Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装. 如果没有安装,使用命令: sudo apt-get insta ...
- ubuntu下的git版本创建
一.git的特点 二.gei的安装和配置 1.安装命令如下 sudo apt-get install git 2.安装成功后输入 git 3.创建版本库 git init 4.使用 先创建一个txt文 ...
- ubuntu: qemu+gdb 调试linux kernel 学习笔记
声明: 本笔记内容并非本人原创,90%来自网络资料的整合.同时,由于自己是刚刚接触qemu & gdbserver remote debug,本文也就算不得教程,仅供有缘人参考而已. ---- ...
- ubuntu下安装git,sublime,nodejs
用的是VMware10.0版本的虚拟机,很早之前下载的今天就直接用了,安装挺简单记得需要一个序列号.在这里:http://mirrors.163.com/ubuntu-releases/15.04/u ...
- Ubuntu下使用Git和GitHub
刚刚学习git和github,网上的知识太杂太乱.照着折腾了很长的时间,都没有搞出个结果,心里十分痒痒,最后终于在github上看到成果.本文适合刚刚接触github但是急于想看到效果的同学,当然gi ...
- Ubuntu下安装Git以及Git帮助手册【转】
转自:http://milkythinking.com/blog/2011/04/17/install_git_and_manual/ Git简介 Git是一个分布式版本控制系统,对应的是SVN.CV ...
- 使用 GIT 获得Linux Kernel的代码并查看,追踪历史记录
Linux kernel 的官方 GIT地址是: http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git 可以从这个地 ...
- linux ubuntu下如何安装并且切换java版本(Unsupported major.minor version 52.0)
最近在做一个dcos(数据中心操作系统)的东西,需要用marathon来做进程管理.遗憾的是0.6版本的marathon在API方面很是缺少,换成了0.15版本之后,运行时提示“Unsupported ...
随机推荐
- windows修改docker的默认存放位置
docker默认存储到c盘,我需要移动到其他盘. 参考了网上很多资料,结果要么移动不了,要么重启docker就回到c盘了. 最后参考docker的官方论坛,找到了解决方案.https://forums ...
- 浅析Mysql事务传播行为
传播行为 1.PROPAGATION_REQUIRED:如果当前没有事务,就创建一个新事务,如果当前存在事务,就加入该事务,该设置是最常用的设置. 2.PROPAGATION_SUPPORTS:支持当 ...
- redux 介绍及配合 react开发
前言 本文是 Redux 及 Redux 配合 React 开发的教程,主要翻译自 Leveling Up with React: Redux,并参考了 Redux 的文档及一些博文,相对译文原文内容 ...
- 记录Angular2.0学习遇到的问题
最近开始学习Angular2.0,准备持续记录下踩过得坑 1如何读取本地json文件: 需要通过http请求读取本地json文件,数据文件要放在assets文件夹下面 Service中的代码如下: ...
- 三、TortoiseSVN 单独拉取项目某个文件
一.项目拉取后,单独对某个文件拉取 实践中会出现这样的问题,在svn 中 我项目 ,已经拉取了,但是 某个文件改乱了 ,想从新对某个文件拉取 . 解决方案:1.删除某个文件,从新更新获取-右击该文件上 ...
- jquery 弹出框效果
html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <ti ...
- Python3.5-20190516-廖老师-自我笔记-匿名函数-装饰器
当函数很简单的时候采用匿名函数很方便.
- Clip
网页中的渲染是由CSS来实现,CSS2就不说了,那个没得说的,最常用的就是个颜色布局什么的. CSS3 自从有了CSS3,相比CSS2变得更具有活力了,CSS3没有什么方法函数的,它跟CSS2一样也是 ...
- 阿里云安装Cloudera Manager(草稿)
选择三台同一局域网的阿里云服务器 最初使用阿里云.京东云.百度云的三台不同的服务器,遇到一些问题,没有解决,公网速度也没有保障,还是选择同一局域网的服务器吧 CM有三种不同的安装方式: 通过 Clou ...
- 分布式系统理论基础4:Paxos
本文转自:https://www.cnblogs.com/bangerlee/p/5655754.html 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到 ...