GIT归纳整理
1. 将repo_a的分支提交到repo_b分支
repo_a:表示原始git库地址;repo_b:表示新增的git库地址。
git remote add new_remote repo_b:new_remote 是repo_b在repo_a中的别名。为本地repo_a新建remote名称,也即另一个repo。
在.git/config中就会新增一个remote:
[remote "new_remote"]
url = http://.../linux.git
fetch = +refs/heads/*:refs/remotes/new_remote/*
git push new_remote master:是将本地的repo_a master分支upload到repo_b master分支。
git push new_remote fpga:master:是将本地的repo_a fpga分支upload到repo_b master分支。
2. 删除远程分支
git push to_origin --delete master:删除to_origin指向的repo的master分支。
git push origin HEAD:origin/update_csky_kernel
将repo_b分支branch_a cherrypick到分支branch_b
3. 修改gitlab.com Default Branch
Setting->Edit Porject->Default Branch下拉列表中选择想要设置的Branch名称。
4. git format-patch和git am
git format-patch commit-id:从commit-id开始(不包括),生成相应的patch。
git am *.patch:将*.patch补丁。
5. tag相关
git tag -a v0.0.0 -m "First demo version."---------新建v0.0.0的tag,并且注释。
git tag--------------------------------------------显示新增的tag。
git push origin --tags-----------------------------将tag上传到服务器。
git show v0.0.0------------------------------------显示tag详情。
git tag -d v0.0.0----------------------------------删除tag。
6. 本地目录提交远程
将本地代码上传到git服务器进行管理,如下:
git init----------------------------------------------------在当前目录创建git仓库。
git add .---------------------------------------------------将所有文件加入到仓库。
git commit--------------------------------------------------增加commit message。
git remote add origin http://.../busybox.git----------------增加remote git服务器。
git push -u origin master-----------------------------------提交commit到远程服务器。
7. 子模块submodule
当项目越来越庞大之后,不可避免需要拆分成多个子模块。
如果希望各个子模块独立版本管理,就需要git submodule功能。
7.1 引入子模块,并提交子模块信息
git submodule add http://../submodule.git submodule_folder---------------其中submodule.git是待引入子模块的git,submodule_folder是当前project下面一个目录。
git status---------------------------------------------------------------可以看出会增加一个.gitmodules文件以及submodule_folder目录,这两个都需要提交。
git diff
git add .----------------------------------------------------------------add两个文件.gitmodule和submodule_folder。
git commit -m "add submodule"
git push origin master---------------------------------------------------提交到远程。
7.2 下载子模块
在clone project的时候,带submodule的时需要附上--recursive。
就可以将submodule一并更新。
git clone --recursive http://.../project.git
如果在clone的时候没有附带--recursive,可以在clone之后如下操作。
在project目录,同样可以更新submodule:
git submodule init
git submodule update
7.3 更新子模块commit id
当需要跟随submodule更新时,只需要更新submodule指向的commit id。
git checkout master-----------------进入submodule目录,切换到master分支。
git pull----------------------------更新到最新的submodule。
然后在上一层目录中git status可以看到,显示对应submodule目录的仅更新了commit id。

然后执行git add pre_dl、git commit、git push即可更新。
参考文档:《Git Submodule管理项目子模块》
8. patch -p1 < ../linux-4.9.56.patch
9. git archive只取git中单个文件
git archive --remote=/path/to/repo HEAD:/path/to/file file | tar -x
0. 其他常用
git config --global credential.helper store:永久记住密码。
git config –global credential.helper cache:默认记住15分钟。
git config credential.helper ‘cache –timeout=3600’:下面是自定义配置记住1小时。
GIT归纳整理的更多相关文章
- Git 初学者使用指南及Git 资源整理
Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...
- 归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作
在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...
- git相关整理
title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...
- 归纳整理Python中的控制流语句的知识点
归纳整理Python中的控制流语句的知识点 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键 ...
- 订单退款&重复支付需求疑问点归纳整理
更新历史记录: 更新内容 更新人 更新时间 新建 Young 2020.12.10 16:45 更新产品疑问解答 Young 2020.12.11 10:14 更新退款权益终止时间 Young 2 ...
- Git 常见问题整理
在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ c ...
- 常用git命令整理
花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf ...
- Git使用整理
[本文由水木桶首发于博客园,原文地址:https://www.cnblogs.com/shuimutong/p/11404664.html,未接允许,严禁转载] 背景 很久之前使用的是svn,直接在E ...
- 常见 git 需求整理(持续更新中)
首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...
随机推荐
- leetcode — partition-list
/** * Source : https://oj.leetcode.com/problems/partition-list/ * * * Given a linked list and a valu ...
- JAVA开发知识之Java的线程
目录 Java多线程讲解 一丶多线程简介 1.进程的概念 2.线程概念 3.Java中多线程Thread类 二丶多线程的创建 1.继承Thread类.重写run方法. 2.实现Runalbe接口. 三 ...
- angr进阶(4)从任意位置开始
从程序的任意位置开始可以大大的减少测试的时间,使用的方法是控制程序运行到某时刻的寄存器的值来进行的.asisctffinals2015_fake p = angr.Project("fake ...
- 如何将视频导入到ipad中并播放
首先在电脑上下载并安装itunes,然后用apple账号登入, 在ipad上从apple store中下载一个播放器如KMPlayer 点击itunes上小手机的图标,找到文件共享,选中应用KMPla ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-模块管理按子系统进行分类管理
在RDIFramework.NET以往的框架中,模块管理界面展示了整个框架所管理的所有模块,如果系统过多,达几十个甚至上百个子系统时,管理起来就非常的麻烦,不光加载效率会很低,页面展示也会很不友好.框 ...
- ES6躬行记(13)——类型化数组
类型化数组(Typed Array)是一种处理二进制数据的特殊数组,它可像C语言那样直接操纵字节,不过得先用ArrayBuffer对象创建数组缓冲区(Array Buffer),再映射到指定格式的视图 ...
- 权限管理系统之LayUI实现页面增删改查和弹出层交互
由于对LayUI框架不太熟悉,昨天抽空看了下LayUI的文档,今天在网上找了使用LayUI进行增删改查相关内容,自己照葫芦画了个瓢,画瓢部分不是很难,主要是下午遇到了一个弹出层的问题耗时比较久. 同一 ...
- Identity Server 4 中文文档(v1.0.0)
欢迎来到IdentityServer4 欢迎IdentityServer4 IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架. 它可以 ...
- C# 设置Excel超链接(一)
在日常工作中,在编辑文档时,为了方便自己或者Boss能够实时查看到需要的网页或者文档时,需要对在Excel中输入的相关文字设置超链接,那么对于一些在Excel中插入的图片我们该怎么实现超链接呢,下面给 ...
- "PECS原则"几篇好文章
<? extends T>和<? super T>Java 泛型中的PECS原则(copy源码样例)