1.基本命令
git branch 查看本地分支
git branch -r 查看远程分支
git checkout xxx 切换分支
git pull origin master //从远程同步到本地,master或分支名
git pull origin xxx
git checkout -b xxx 新建xxx的分支
git checkout -b 本地分支名 远程分支名
git branch -D xxx 删除本地分支
git status 查看状态
git add file 添加到本地server cache
git checkout -- file 从本地回滚
git add path1 path2 ... 添加修改文件路径到stage状态。
git commit 提交本地server
git log
git diff cmt1 cmt2 --stat 查看cmt1 和cmt2两个版本的文件变化
git checkout -- filename 去除本地文件的修改、
git stash 去除本地的所有更新
git log --committer xiaojin.lh 查看某个committer的提交
git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

2.拉取远程分支
1).首先clone,获取远程的主干
git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git 空目录

2).查看远程分支
git branch -r

3).根据远程分支建立本地分支
git checkout -b 本地分支名 远程分支名

4).拉取远程的最新分支
git pull origin feature_encryption_issue1

5).拉取远程的某个tag,比如拉取远程rocksdb的4.11.2版本
git checkout -b 4.11.2 v4.11.2

3.推送到远程
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin xxx:xxx 把本地的分支推送到远程
git push origin xxx,省略远程分支,表示将本地的xxx分支推送到远程的xxx分支,若分支不存在,则创建。
git push origin xxx:xxx --dry-run 模拟推送
git push orgin :xxx,表示推送一个空分支到远程,相当于删除远程分支。
等价于:
git push origin --delete xxx

4.合并分支master
1).切换到master分支(想要合并的目的分支,这里是master)
2).合并分支
git merge feature_encryption_issue1,(合并想要合并的分支名,这里是feature_encryption_issue1)
3).推送到远程
git push origin master

比如你在开发feature_xxx,这个时候master已经更新了,你需要合并最新的master:
4).在feature_xxx分支更新master
git checkout feature_xxx
git merge master

5).master 合并某个分支 feature_xxx
git checkout master
git merge feature_xxx

5.提交Merge Request步骤
1).删除远程分支
git push origin :xxx_branch //删除远程的xxx分支

2).拉取master
git clone git@gitlab.abcde-inc.com:mysql-engine/mysql.git xxx_branch

3).建立新分支
git checkout -b xxx_branch

4).合并diff文件
git apply xxx.diff

5).本地提交
git commit -am "[feature]comment"

6).推送到远程分支
git push origin xxx_remote_branch

7).本地提交,使用--amend //commit沿用之前的版本号
git commit --amend 【本地提交】

8).推送到远程,使用 --force
git push origin xxx:xxx --force 【推送到远程】

6.生成patch,合并patch
1).基本命令
git diff old-commit current-commit > xxx.patch 生成patch
git apply xxx.patch 应用某个patch,事务操作,全部成功或全部失败。
git apply -R xxx.patch 恢复某个commit,xxx.patch是变更的内容。
git apply --check patch 在应用patch之前,可以用命令 --check 确认patch是否有冲突问题。
git apply patch --reject 如果有冲突,可以通过--reject查看冲突在哪里,然后进行修改。

2).拉取一个主干,然后应用patch
git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git
patch -p1 < *.diff
3).commit
4).push到远程。

git开发常用命令的更多相关文章

  1. Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点

    Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...

  2. Git 基础 —— 常用命令

    Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...

  3. git的常用命令。。

    git的常用命令.. git help <command>  显示command的help git show  显示某次提交的内容 git show $id git co -- <f ...

  4. GIT 版本控制常用命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  5. git log 常用命令及技巧

    git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...

  6. Git基本常用命令

    Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...

  7. Git stash 常用命令

    参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...

  8. git之常用命令

    git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...

  9. Git - Git基本常用命令

    Git基本常用命令 mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可以管理 ...

随机推荐

  1. Android版数据结构与算法(五):LinkedHashMap核心源码彻底分析

    版权声明:本文出自汪磊的博客,未经作者允许禁止转载. 上一篇基于哈希表实现HashMap核心源码彻底分析 分析了HashMap的源码,主要分析了扩容机制,如果感兴趣的可以去看看,扩容机制那几行最难懂的 ...

  2. Redis的知识点总结~Linux系统操作~

    Redis_启动后杂项基础 Redis一共16个数据库 SELECT[0~15] 来切换数据库 命令起效返回1 不起效返回0 或者nil 或者error 异常... DBSIZE 查询数据的数 KEY ...

  3. 【原】Oracle EBS 11无法打开Form及Form显示乱码的解决

    问题:Oracle EBS 11无法打开Form及Form显示乱码 解决: 1.尝试使用jre1.5或1.6安装目录下jre/bin/server目录里的jvm.dll替换JInitiator安装目录 ...

  4. Powershell-查询当前文件目录层级结构

    日常工作中我们往往有需要导出当前共享环境或磁盘文件目录层级结构等的需求,最早在目录少的情况下我们使用CMD下tree 命令可以很清晰的看到目录.文件层级结构,那么我们又如何通过powershell直观 ...

  5. [LeetCode] 25. k个一组翻转链表

    题目链接: https://leetcode-cn.com/problems/reverse-nodes-in-k-group/ 题目描述: 给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链 ...

  6. Visual Studio高效实用的扩展工具、插件

    说明: 对一个有想法的程序员来说,善于使用一款高效的开发工具是很重要的,今天给大家介绍的是宇宙第一IDE vs用起来很不错的开发工具,假如大家觉得不错也可以尝试的用用,毕竟对于我们这些一天一大半的时间 ...

  7. Sublime Text2支持Vue语法高亮显示

    1.下载vue语法高亮插件vue-syntax-highlight 下载地址:https://github.com/vuejs/vue-syntax-highlight 2.将vue-syntax-h ...

  8. 《前端之路》之四 JavaScript 的闭包、作用域、作用域链

    04:JavaScript 的闭包 一.定义: 常规定义: 闭包的定义: 有权利访问外部函数作用域的函数. 通俗定义: 1.函数内部包含了函数.然后内部函数可以访问外部函数的作用域. 2.内部函数可以 ...

  9. 网络学习笔记(一):TCP连接的建立与关闭

      五层网络模型分为:物理层.数据链路层.网络层.传输层.应用层.其中,传输层有两种主要协议:面向连接的TCP(Transmission Control Protocol 传输控制协议).无连接的UD ...

  10. 声明式RESTful客户端在asp.net core中的应用

    1 声明式RESTful客户端 声明式服务调用的客户端,常见有安卓的Retrofit.SpringCloud的Feign等,.net有Refit和WebApiClient,这些客户端都是以java或. ...