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. js初级入门

    javascript的数据类型 (symbol)一.原始数据类型 或 基本数据类型 6种 1,undefined (1,申明未赋值,2,函数没有返回值)2,null (空,不存在)3,number ( ...

  2. Challenges-XSS

    https://alf.nu/alert1 warmup adobe JSON

  3. Dynamics 365 CE的插件/自定义工作流活动中调用Web API示例代码

    微软动态CRM专家罗勇 ,回复325或者20190428可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 现在Web API越来越流行,有时候为了程序更加健壮,需要在插件 ...

  4. MSSQL2008 R2 数据库展开报错:值不能为空 参数名:viewInfo

    打开数据库时报错,提示应用程序组件中发生了无法处理的异常.如果单击“继续”,应用程序将忽略此错误并尝试继续. 针对此类问题的解决办法是:将路径C:\Documentsand Settings\Admi ...

  5. python进程、进程池(二)代码部分

    第一种创建进程的方式: from multiprocessing import Process def f(name): print(name,"在子进程") if __name_ ...

  6. Php如何返回json数据,前后端分离的基本解决方案

    php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...

  7. 【Linux基础】压缩和解压

    Linux 常用的压缩与解压文件类型:.tar,.gz..tar.gz,.bz2..tar.bz2,.Z..tar.Z,.zip,.rar等. Linux 常用的压缩与解压缩命令有:tar,gzip. ...

  8. 网络协议 15 - P2P 协议:小种子大学问

    [前五篇]系列文章传送门: 网络协议 10 - Socket 编程(上):实践是检验真理的唯一标准 网络协议 11 - Socket 编程(下):眼见为实耳听为虚 网络协议 12 - HTTP 协议: ...

  9. 如何机智判断页面是刷新还是关闭,背景:vue项目,需求:关闭页面,下次直接跳到登陆页

    最近项目有这么个需求:要在关闭当前系统的窗口的时候,退出登录, 因为如果不退出登录可能存在安全风险,其实我想说,电脑没事别借给别人活着离开工位记得一定要锁屏,其实我们设置了cookie失效时间的,过了 ...

  10. 【工利其器】必会工具之(三)systrace篇(2)

    systrace工具打开路径 以AndroidStudio(后面简写为AS),在顶部菜单栏中 Tools>Android>Android Device Monitor 打开后看到如下界面, ...