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归纳整理的更多相关文章

  1. Git 初学者使用指南及Git 资源整理

    Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...

  2. 归纳整理Linux下C语言常用的库函数----内存及字符串控制及操作

    在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. ...

  3. git相关整理

    title: git相关整理 toc: false date: 2018-09-24 20:42:55 git merge 和 git merge --no--ff有什么区别? git merge命令 ...

  4. 归纳整理Python中的控制流语句的知识点

    归纳整理Python中的控制流语句的知识点 Python 解释器在其最简单的级别,以类似的方式操作,即从程序的顶端开始,然后一行一行地顺序执行程序语句.例如,清单 1 展示了几个简单的语句.当把它们键 ...

  5. 订单退款&重复支付需求疑问点归纳整理

    更新历史记录: 更新内容 更新人 更新时间 新建 Young 2020.12.10  16:45 更新产品疑问解答 Young 2020.12.11  10:14 更新退款权益终止时间 Young 2 ...

  6. Git 常见问题整理

    在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ c ...

  7. 常用git命令整理

    花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf ...

  8. Git使用整理

    [本文由水木桶首发于博客园,原文地址:https://www.cnblogs.com/shuimutong/p/11404664.html,未接允许,严禁转载] 背景 很久之前使用的是svn,直接在E ...

  9. 常见 git 需求整理(持续更新中)

    首发于 语雀文档 突然感觉自己对 git 还是挺熟悉的,因为团队里新来的七八号应届生来问我 git 问题,基本没有答不上的情况,但为了能更好地对知识进行整理,还是记录一下为好. (希望能)持续更新.. ...

随机推荐

  1. scrapy爬虫学习系列三:scrapy部署到scrapyhub上

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

  2. 网络编程第六讲Select模型

    网络模型第六讲Select模型 一丶Select模型是什么 以前我们讲过一个迭代模型.就是只服务一个客户端连接.但是实际网络编程中.复杂的很多. 比如一个 C/S架构程序 (客户端/服务端) 客户端很 ...

  3. [零] JavaIO入门简介 程序设计语言 为什么需要IO库

     本文旨在引申出来Java IO的概念含义,作为学习JavaIO一个起步的了解知识点 部分内容引自<计算机操作系统第三版>  操作系统的文件管理   "在现代计算机系统中,要用到 ...

  4. 支持异步写入的日志类,支持Framework2.0

    因为工作需要需要在XP上运行一个C#编写的Winform插件,我就用Framework2.0,因为存在接口交互所以想保留交易过程的入参出参. 考虑到插件本身实施的因素,就没有使用Log4.NLog等成 ...

  5. Java中的定时任务

    现代的应用程序早已不是以前的那些由简单的增删改查拼凑而成的程序了,高复杂性早已是标配,而任务的定时调度与执行也是对程序的基本要求了. 很多业务需求的实现都离不开定时任务,例如,每月一号,移动将清空你上 ...

  6. Python3+Selenium2完整的自动化测试实现之旅(二):IE和Chrome浏览器驱动配置

    上一篇写了自动化测试需要的最基础环境配置,地址:https://www.cnblogs.com/tdp0108/p/10412073.html 当前市面上很多公司开发的应用软件都是BS架构,即基于浏览 ...

  7. 基于Dockerfile镜像制作的基本操作

    一.使用Dockerfile制作镜像 前面的博客中已经介绍了如何基于容器制作镜像,此方法的原理是使用一个正在运行的容器,根据生产所需进行配置更改等操作后,使其满足生产环境,再将这个容器打包制作为镜像, ...

  8. 聊聊数据库~3.SQL基础篇

    上篇回顾:聊聊数据库~SQL环境篇 扩展:为用户添加新数据库的权限 PS:先使用root创建数据库,然后再授权grant all privileges on 数据库.* to 用户名@"%& ...

  9. linux yum配置代理

    yum里面可以单独设置代理就是yum源的参数加proxy=“http://ip:PORT”即在/etc/yum.conf中加入下面几句.proxy=http://210.45.72.XX:808pro ...

  10. Java开发笔记(十二)布尔变量论道与或非

    在编程语言的设计之初,它们除了可以进行数学计算,还常常用于逻辑推理和条件判断.为了实现逻辑判断的功能,Java引入了一种布尔类型boolean,用来表示“真”和“假”.该类型的变量只允许两个取值,即t ...