Git常用命令

一、 git 基本操作流程

1. 从远程分支拉取并创建新的分支
git pull origin [远程分支名]:[本地分支名]

// 从远程分支迁出本地分支,并切换到新的本地分支
git checkout -b [本地分支名] origin/[远程分支名] // 从远程分支更新
git pull origin [远程分支名]
2. 创建本地分支
git branch [本地分支称]

// 创建本地分支并切换到创建的分支
git checkout -b [本地分支名]
3. 切换本地分支
git checkout [本地分支名]
4. 查看分支
// 查看本地分支
git branch // 查看远程分支
git branch -r // 查看所有分支
git branch -a
5. 查看本地分支状态
// 查看本地分支
git status // 查看当前分支的日志信息(提交记录,本地与远程分支的对应关系)
git log --oneline --graph --decorate
6. 提交本地分支调整
git add -A  提交所有变化
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add . 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
(在git 2.x 版本中和-A的作用一致)
6.1. git 1.x
Command New Files Modified Files Deleted Files Description
git add -A Y Y Y Stage All(new,modified,deleted) files
git add . Y Y N Stage New and Modified files only
git add -u N Y Y Stage Modified and Deleted files only
6.2. git 2.x
Command New Files Modified Files Deleted Files Description
git add -A Y Y Y Stage All(new,modified,deleted) files
git add . Y Y Y Stage All(new,modified,deleted) files
git add --ignore-removal Y Y N Stage New and Modified files only
git add -u N Y Y Stage Modified and Deleted files only
7. 提交本地分支调整索引
git commit -m '提交的描述信息'
8. push本地分支到远程并创建远程分支
git push origin [本地分支名]:[远程分支名]
9. 撤销单个文件
git checkout  [本地分支名]
例如:git checkout src/pages/lessonIndex/lessonIndex.wxss

二、 merge 合并操作

// 将b分支合并进a分支
// 首先切换到a分支
git checkout a
// 然后合并
git merge b

三、 rebase 变基操作

// 如果已commit则需要先reset commit
git reset --soft {commit} // 将新增文件添加进本地分支
git add .
// 将新增、修改、删除的操作写入暂存区
git stash save 'description'
//切换到dev分支
git checkout dev
// 将dev分支pull成最新
git pull origin dev
// 将当前分支rebase到最新分支
git rebase dev
// 查看暂存区列表
git stash list
// 将暂存区的内容取出
git stash pop
1、git更新合并代码流程
// 如果已commit则需要先reset commit
git reset --soft {commit} // 将新增文件添加进本地分支
git add .
// 将新增、修改、删除的操作写入暂存区
git stash save 'description'
//切换到dev分支
git checkout dev
// 将dev分支pull成最新
git pull origin dev
// 切换到当前开发分支feature/mt/debug
git checkout feature/mt/debug
// 合并dev分支的代码
git merge dev(不建议)
git rebase dev(建议)
// 查看暂存区列表
git stash list
// 将暂存区的内容取出,如果有多条记录使用git stash pop stash@{id}
git stash pop
// 提交修改文件
git add .
// 填写备注
git commit -m '备注信息'
// push到远程服务器
git push origin [本地分支名]:[远程分支名]
例如: git push origin feature/mt/debug:feature/mt/debug-fix

四、 查看远程分支状态

// 查看远程分支状态
git remote show origin // 删除远程实际已不存在的分支
git remote prune origin // 远程有分支,本地查不到时,将本地远程跟踪分支进行更新,与远程分支保持一致
git fetch

五、 分支删除

1. 删除本地分支
git branch -D [要删除的分支名]
2. 删除远程分支
git push origin --delete [远程分支名]
// push 一个空的分支到远程也可以删除
git push origin :[远程分支名]

六、 Git常用的撤销操作

1.基本状态标识
A- = untracked 未跟踪
A = tracked 已跟踪未修改
A+ = modified - 已修改未暂存
B = staged - 已暂存未提交
C = committed - 已提交未PUSH
2、各状态之间变华
A- -> B : git add <FILE>
B -> A- : git rm --cached <FILE>
B -> 删除不保留文件 : git rm -f <FILE>
A -> A- : git rm --cached <FILE>
A -> A+ : 修改文件
A+ -> A : git checkout -- <FILE>
A+ -> B : git add <FILE>
B -> A+ : git reset HEAD <FILE>
B -> C : git commit
C -> B : git reset --soft HEAD^
修改最后一次提交:git commit --amend
3、撤销修改
已修改,未暂存:git checkout . (git checkout <file>)
已暂存,未提交: git reset (git reset --hard 会覆盖)
已提交,未推送: git reset --hard origin/master (远程仓库覆盖本地仓库)
已推送: git reset --hard <commitID> (如果要覆盖远程必须强制推 git push -f)

gjt常用命令---chalee的更多相关文章

  1. Linux 常用命令(持续补充)

    常用命令: command &:将进程放在后台执行 ctrl + z:暂停当前进程 并放入后台 jobs:查看当前后台任务 bg( %id):将任务转为后台执行 fg( %id):将任务调回前 ...

  2. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  3. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  6. npm常用命令

    npm常用命令 环境:win7 npm 是什么 NPM(node package manager),通常称为node包管理器.顾名思义,它的主要功能就是管理node包,包括:安装.卸载.更新.查看.搜 ...

  7. Git 常用命令

    一.初始環境配置 git config --global user.name "John Doe"git config --global user.email johndoe@ex ...

  8. linux iptables常用命令之配置生产环境iptables及优化

    在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...

  9. Linux常用命令(一)

    Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

随机推荐

  1. windows redis 自动启动

    start.bat D: D:\dev\redis- redis-server.exe redis.conf redis.vbs createobject( 之后,把 start.bat 放在redi ...

  2. Jquery获取输入框属性file,ajax传输后端,下载图片

    Django web开发获取input属性file,可以用request.FILES.get(' ')直接获取到,然后正常拼接路径就可以下载, 但是今天我们来用异步获取file的值在传输后端下载. 1 ...

  3. 自学stm32的一些个人经验

    1.首先我们先看看与STM32相关的文档 我们假定大家已经对STM32的书籍或者文档有一定的理解.如不理解,请立即阅读STM32的文档,以获取最基本的知识点. 如果你手上拥有ST官方主推的STM32神 ...

  4. Nginx的upstream反向代理、负载均衡详解

    这篇文章的前提是已经配置好了NGINX,而且tomcat已经配置好了,而且能能够访问了. 说反向代理之前,我们先看看正向代理,正向代理也是大家最常接触的到的代理模式. 正向代理最大的特点是客户端非常明 ...

  5. mysql 数据库的数据类型

  6. 2019-04-25t16:19:49 转成正常的年月日

    1.首先得到的值时2019-04-25t16:19:49 2.想转成2019-04-25 3. var d = new Date(2019-04-25t16:19:49); var yy = d.ge ...

  7. 【Solution】MySQL 5.8 this is incompatible with sql_mode=only_full_group_by

    [42000][1055] Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated colu ...

  8. java快排思想

    1分治思想 1.1比大小在分区 1.2从数组中取出一个数做基准数 1.3将比他小的数全放在他的左边,比他大的数全放在他的右边 1.4然后递归 左边 和右边 }

  9. Maven 学习笔记-maven属性

    Maven有六类属性: 1)内置属性 主要有两个常用内置属性 ${basedir}:表示项目根目录,即包含pom.xml文件的目录: ${version}:表示项目版本: 2)POM属性 ${M2_H ...

  10. AD域详解

    很详细,赞!