目前我用的比较多的git指令

git clone -b [branch-name]: 拉取远程指定分支代码

git status: 查看工作区修改状态

在将修改添加进暂存区的时候需要git add . 将修改记录添加到git中

git stash -m "message" push [file-list] : 添加暂存信息, 便于以后知道自己当初存了个啥

git stash list: 查看暂存区列表

git stash [push] [pop] [file-name,file-name1, file-name2...]: 暂存修改

git clear [index]: 清空暂存区, 清空指定

git暂存指定文件指令:git stash push file1 file2 file3 file4 ...(file1、file2、file3的路径为git status显示出来的路径)

后面stash@{0}: 里的 {0} 表示是暂存区中位置, 后面跟着是暂存信息, 通过-m添加message得到

git stash clear

git stash create []

git merge [branch-name]: 将branch-name指向的分支合并到当前分支

注意: 合并之前需要先更新另一个分支上的记录: git pull

如果不想新的修改影响到切换到的新分支, 需要stash暂存修改记录.

如果暂存之后想恢复的话可以git pop指定stash记录, 不过务必记得pop, 要不然stash存一堆东西不知道是啥

合并之后如果有冲突一定要解决冲突

如果不想因为merge影响其他分支的话, 可以git checkout -b branch-name创建一个新的分支, 然后在新的分支上进行合并, 处理不好分支的话那就直接把分支删了重新拉, 当然对于大佬来说肯定有好办法

注意: 合并代码一定要在本地合并然后验证一下合并结果没有问题之后再提MR, 虽然Gitlab, Github上会检查MR是否合理, 但是在本地验证通过的话想必会更好

git reset: 撤销本地commit

git撤销Commit:git reset --soft HEAD^

--soft:撤销commit, 但是 git add . 不撤销

--hard:撤销commit, 以及 git add . 恢复到上一次提交状态,会删除工作空间的代码,谨慎操作!!!

HEAD^:回退上一个commit,也可以写成HEAD~1,如果有多个commit要撤销,那么使用HEAD~N,再配合--soft或者--hard

如果使用git reset HEAD~N(或者HEAD^)--hard撤销commit记录时(--soft也适用),我反悔了怎么办? 可以通过git reflog [commit-id]

单纯使用git reflog时,可以查看当前所有动作(commit、checkout、reset、pull、push等)且会带着commit-id。

通过git reflog commit-id可以撤回当前reset的记录【三十天内有效】

git修改message:git commit --amend,会自动进入message编辑

git show commit_id:显示commit_id指向的提交记录信息

git branch -d branch-name : 删除分支(-D 强制删除)

git pull: 拉取远程仓库代码以更新本地代码

git rebase: 变基还不会用, 大佬教教我

GIT-版本管理-初阶使用的更多相关文章

  1. Git 版本管理的简单理解

    来源:百度知道 现在使用Git版本管理代码的项目非常多.但是Git本身是一条复杂的系统.我从几个简单的点来说明Git的基本功能.希望能帮助初学者快速入门. 工具/原料   Git code dot j ...

  2. GIT版本管理工具

    原文:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介 ...

  3. Nodejs初阶之express

    PS: 2014/09/24 更新<Express 4.X 启航指南>,欢迎阅读和评论:)   老规矩,开头部分都是些自娱自乐的随想,想到哪写到哪... 到今天俺已经在俺厂工作俩年零几天了 ...

  4. R语言实战(一)介绍、数据集与图形初阶

    本文对应<R语言实战>前3章,因为里面大部分内容已经比较熟悉,所以在这里只是起一个索引的作用. 第1章       R语言介绍 获取帮助函数 help(), ? 查看函数帮助 exampl ...

  5. 平衡树初阶——AVL平衡二叉查找树+三大平衡树(Treap + Splay + SBT)模板【超详解】

    平衡树初阶——AVL平衡二叉查找树 一.什么是二叉树 1. 什么是树. 计算机科学里面的树本质是一个树状图.树首先是一个有向无环图,由根节点指向子结点.但是不严格的说,我们也研究无向树.所谓无向树就是 ...

  6. git学习——<四>git版本管理

    一.git版本管理的优势 都说git比svn强大,强大在哪呢? 首先,从部署上说:svn.cvs都是集中式的,一台服务器上部署服务,所有客户端编写的代码都要提交到该服务器上.git是分布式的,所有人都 ...

  7. 重温ASP.NET WebAPI(一)初阶

    重温ASP.NET WebAPI(一)初阶   前言 本文为个人对WebApi的回顾无参考价值.主要简单介绍WEB api和webapi项目的基本结构,并创建简单地webaapi项目实现CRUD操作. ...

  8. Git——版本管理工具(一)

    Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介绍 Git  —— The stupid content tracker(傻瓜式的内容跟踪器) 1. Git 背 ...

  9. Git 版本管理工具(一)

    转自:http://blog.csdn.net/ithomer/article/details/7527877 Git 是一个分布式版本控制工具,它的作者 Linus Torvalds 是这样给我们介 ...

  10. GIT版本管理工具教程

    目录 GIT版本管理工具教程 一 Git初始化 二 简单指令使用 基本操作 简单总结 三 Git进阶 Git三大区域 Git回滚 Git分支 Git工作流 四 Github代码管理仓库 第一步:注册G ...

随机推荐

  1. buu 简单注册器

    一.本身对安卓逆向这块不是很熟悉,为了看这题稍微了解了一下,原来安卓虚拟机解释运行的是dex文件,和java的字节码不一样,然后是smail语法,这块我不会,所以找个了个神器来反编译2333,然后这题 ...

  2. Android Binder 进程间通讯机制梳理

    什么是 Binder ? Binder是Android系统中进程间通讯(IPC)的一种方式,也是Android系统中最重要的特性之一.Binder的设计采用了面向对象的思想,在Binder通信模型的四 ...

  3. STM32F103学习进程

    软硬件下载程序和程序运行的相关问题和解决方案,以我自身买的STM32F103C8T6为例 (1) 硬件需要 1. 购买一个STM32F103XXX的板子.这是一个操作实践性非常强的一个学习过程,如果没 ...

  4. ESP-IDF硬件设计相关知识

    1.更新ESP-IDF:直接删除您本地的 esp-idf 文件夹,然后克隆新版本:更新完成后,请执行 install.sh (Windows 系统中为 install.bat)脚本,避免新版 ESP- ...

  5. C语言:最小公倍数

    //求最小公倍数 #include <stdio.h> main() { int m,n,i,k,max,min; scanf("%d,%d",&m,& ...

  6. js学习-apply,call,bind的实现

    目录 apply call bind demo apply 简单说:构建一个和调用aplly函数一样的字符串,用eval执行,完了之后删除掉,最后返回执行的结果. Function.prototype ...

  7. python + mysql 实现表更新数据

    实例如下: import pymysqldef Update_Set(): #打开数据库链接 db = pymysql.connect("localhost","root ...

  8. Guava - 字符串处理

    Joiner 连接 比如,有这样一个集合[1,2,3,4,5,7,null],想把这个集合转换成以#分割的字符串,并过滤掉集合中的空元素 List<Integer> eleList = A ...

  9. 最大网络流dinic

    初始化flow(最大流量)为INF(极大值),建边(正向弧和反向弧) bfs寻找增广路看看有没有路,顺便进行深度标号.如果没有路直接结束输出flow. 如果有,我们按照深度dfs.dfs时注意在给正向 ...

  10. K8S系列第三篇(Docker网络)

    目录 docker 网络 Docker 的四种网络模 一.网络基础 1.网络名称空间介绍 2.创建一个命名空间 1)Veth设备对 2)Veth设备操作 1> 创建Veth设备对 2> 绑 ...