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 ...
随机推荐
- Codeforces Fix a Tree
Fix a Tree time limit per test2 seconds A tree is an undirected connected graph without cycles. Let' ...
- kubernetes容器集群自签TLS证书
集群部署 1.环境规划 2.安装docker 3.自签TLS证书 4.部署Flannel网络 5.部署Etcd集群 6.创建Node节点kubeconfig文件 7.获取K8S二进制包 8.运行Mas ...
- Linux系统实验
前言:怎么感觉Linux运维和Linux系统实验没什么关系?该不会的还是不会(@@).记录一下几个实验吧. 本篇目录: 实验一 编程环境 实验二 文件读写 实验三 进程通信 实验一 编程环境√ 实验步 ...
- WPF自适应问题
引用水哥同事的文章 点击跳转
- C# 下载模板
/// <summary> /// 模板下载 /// </summary> /// <returns></returns> public ActionR ...
- redis基础及基本命令
什么是redis Redis是一个Key-value存储系统,redis提供了丰富的数据结构,包括string(字符串),list(列表),sets(集合),ordered set(有序集合),has ...
- C# 在Word表格中插入新行(表格含合并行)
public string CreateWordFile(string CheckedInfo) { string message = "" ...
- SCP-bzoj-1079
项目编号:bzoj-1079 项目等级:Safe 项目描述: 戳这里 特殊收容措施: DP.普通的状压状态数515,显然TLE+MLE,我们考虑把底数和幂换一换,压成155的状态数. 故状态设计为:f ...
- python 网络编程:socket
在学习socket之前,我们先复习下相关的网络知识. OSI七层模型:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层.OSI七层模型是由国际标准化组织ISO定义的网络的基本结构,不仅包括一 ...
- JS基础入门篇(二十七)—BOM
虽然上次写到js基础篇(二十四),这次直接写到(二十七).是为了提醒自己中间有几篇没写.特此说明一下啊. 1.window.open() 使用a标签呢,点击一下a标签页面才会跳转,有时候我们需要做的操 ...