目前我用的比较多的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. ARTS第十二周

    1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文章 以下是 ...

  2. 抓包工具-Charles

    1.简介Charles Charles其实是一款代理服务器,通过成为电脑或者浏览器的代理,然后截取请求和请求结果达到分析抓包的目的.charles有Window版本和Mac OS版本,也同时支持ios ...

  3. Shell编程之条件语句:if、case语句

    Shell编程之条件语句:if.case语句               一.条件测试                1)test命令测试                2)整数值比较         ...

  4. [刘阳Java]_easyui-draggable拖动组件_第4讲

    easyui-draggable的拖动组件还是比较好用的,它能够快速地实现网页中元素的拖动效果 实现easyui-draggable拖动组件有两种方式:纯HTML方式和JS方式 纯HTML方式实现拖动 ...

  5. 【剑指offer】52. 两个链表的第一个公共节点

    剑指 Offer 52. 两个链表的第一个公共节点 知识点:链表: 题目描述 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 示例 示例1: 输入:intersectVal = 8, l ...

  6. canvas实现任意正多边形的移动(点、线、面)

    前言 我在上一篇文章简单实现了在canvas中移动矩形(点线面),不清楚的小伙伴请看我这篇文章:用canvas 实现矩形的移动(点.线.面)(1). ok,废话不多说,直接进入文章主题, 上一篇文章我 ...

  7. python之数据驱动Excel+ddt操作(方法二)

    一.Mail163数据如下: 二.Excel+ddt代码如下: import xlrdimport unittestfrom selenium import webdriverfrom seleniu ...

  8. 技术期刊 · 天光台高未百尺 | Uber 工程师的 JS 算法课;大数据时代的个人隐私;设计师的 Github;告别 PPT 工程师;从零开始实现的像素画

    蒲公英 · JELLY技术期刊 Vol.42 这是一个最好的时代,多样化的平台给了所有人成长发展的机会,各种需求和解决需求的人让人大开眼界:但这也并不是完美的时代,"前端还需要懂什么算法?& ...

  9. 【贪心】数列分段Section I luogu-1181

    题目描述 对于给定的一个长度为\(N\)的正整数数列\(A_i\),现要将其分成连续的若干段,并且每段和不超过\(M\)(可以等于\(M\)),问最少能将其分成多少段使得满足要求. 分析 简单思考一下 ...

  10. 第十二篇 -- QMainWindow与QAction(剪切-复制-粘贴)

    效果图: 按照上一节的方法,将剪切-复制-粘贴图标放置到工具栏后,为其指定槽函数.这些功能无需自己编写代码来实现,QPlainTextEdit提供了实现这些编辑功能的槽函数,如cut().copy() ...