【Git】git使用 - 各种常用场景命令解决
(多看git中的各种帮助-h/--help,可能有你想要的命令)
1、分支的创建和切换
创建 >>>> git branch branchName
切换分支 >>>> git checkout branchName
创建并切换到新分支 >>>> git checkout -b branchName
删除分支 >>>> git branch -d branchName (不能删除HEAD所在的branch,需先切换到别的branch后再删除)
合并分支 >>>> git merge <branchName>(存在参数branchName,标识将branchName分支合并到当前分支;如果不存在参数,表示将最新节点?commit?合并到当前分支,不知道怎么表达)
分支重命名 >>>> git branch -m branchName newName
2、删除远程/本地仓库中无用commit(回滚提交,谨慎使用)
现在的remote中的log。(本地仓库已commit未push的处理是一样的)

此时要舍弃掉”add problem”之后的3次提交。
i. git reset --hard eaef12481e848225ba3aca0b0b2e55bcd06c8725
(可以详细了解--hard的作用,针对不同的情况,可能用--mixed/--soft更好
--mixed reset HEAD and index
--soft reset only HEAD
--hard reset HEAD, index and working tree
)

ii. git push --force (只要是--force/-f都要注意使用,小心没后悔药)


3、利用rebase合并commit。
作用,主要是想保证remote的commit log是线性的,且每次commit log/version都是有"每次"的含义,而不是多次连续的commit其实只需要一次commit log.
4、git merge --squash <branch>
--squash create a single commit instead of doing a merge
作用,我们经常是在newBranch做一个功能然后merge到master,但在newBranch中也会有多次的commit。但是最后merge到master提交到远程仓库却只希望有1次commit log。
这样merge到master后,在master可以指定一次新的commit从而舍弃newBranch中的多次commit。
【Git】git使用 - 各种常用场景命令解决的更多相关文章
- 关于Git中的一些常用的命令
深入了解git的checkout命令 检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令. 因为这条命令会重写工作区.检出命令的用法如下: 用法一: git che ...
- git操作分支的常用的命令
查看所有的分支: git branch -a 查看当前所在的分支: git branch 检出分支: ...
- git常用命令常用场景
在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库: ...
- 版本控制-Git服务器搭建和常用命令使用
Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...
- Git——常用场景解析
总结:本篇文章从初识GitHub.Git,实践GitHub的五种常用场景,分别是:git for windows安装,git配置,克隆远程代码到本地,上传本地代码到远程以及Git的常用指令.相信Jam ...
- Git 工作原理以及常用命令操作
GIT工作原理 要了解GIT工作原理,先了解GIT的这几块区域: 工作区域划分 工作区:指的是本地工作空间,如果刚拉取下来的代码,没有修改的内容,这块区域是空白的 (modified-已修改状态) 暂 ...
- Git 的常用的命令
之前一直在使用SVN作为版本管理工具,现在项目要求使用Git,下面简单记录一下一些常用的命令.关于原理和使用方式的详细说明,具体教程参考的廖雪峰的git教程. 1. github 账号的申请. 2. ...
- git安装用法和常用命令
目录 git 下载 安装 git 工作中常用命令 Git常用命令汇总以及其它相关操作 或者 常出错误: 常用修改: 题外话(相关概念) git 下载 安装 1.下载Git,官网地址:https://g ...
- 【版本管理工具】git的介绍及常用命令总结
1 git简介 1.1 git是什么? "Git 是一个分布式版本控制软件,与CVS.Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可 ...
随机推荐
- 使用Python通过SMTP发送邮件
有些业务可能由于各种各样的原因并不适用于Zabbix监控,这时如果要做到系统出问题能立即发送邮件,就需要自己来写监控脚本了,出问题要实时通过邮件报警,以下案例使用Python脚本实现通过SMTP协议发 ...
- 粗谈MySQL事务的特性和隔离级别
网上对于此类的文章已经十分饱和了,那还写的原因很简单--作为自己的理解笔记. 前言 此篇文章作为自己学习MySQL的一些个人理解,使用的引擎是InnoDb.首先先讲讲事务的概念,在<高性能 ...
- 二、Django学习之增删改查
增加数据 第一种方式 def index(request): #创建记录方式1 #实例化要添加的记录(对象) student_obj = models.Student( name='dazhuang' ...
- 三、通过 FactoryBean 来配置bean
一般情况下,Spring 通过反射机制利用 <bean> 的 class 属性指定实现类实例化 Bean ,在某些情况下,实例化 Bean 过程比较复杂,如果按照传统的方式,则需要在 &l ...
- Linux/UNIX编程:获取指定用户所有正在运行的进程ID和进程名
先用系统函数 `getpwnam` 获得指定用户名的 UID,然后遍历 /proc/ 中所有 PID 目录,如果 /proc/PID/status 中的 UID 是输入用户名对应的 UID 则输出该 ...
- 斐波那契数列(php实现)
描述 斐波那契数列指的是这样一个数列:1.1.2.3.5.8.13.21.34... 规则 : 有N个数,第i个数的值 N(i)= N(i-1) + N(i-2) 需求: 给出下标i ,求第i 的个数 ...
- LeetCode 218. The Skyline Problem 天际线问题(C++/Java)
题目: A city's skyline is the outer contour of the silhouette formed by all the buildings in that city ...
- vue子向父传值
要弄懂子组件如何向父组件传值,需要理清步骤 子组件向父组件传值的步骤 一:子组件在组件标签上通过绑定事件的方式向父组件发射数据 <!--html--><template id=&qu ...
- 面试题|手写JSON解析器
这周的 Cassidoo 的每周简讯有这么一个面试题:: 写一个函数,这个函数接收一个正确的 JSON 字符串并将其转化为一个对象(或字典,映射等,这取决于你选择的语言).示例输入: fakePars ...
- k8s系列---stateful(有状态应用副本集)控制器
http://blog.itpub.net/28916011/viewspace-2215046/ 在应用程序中,可以分为有状态应用和无状态应用. 无状态的应用更关注于群体,任何一个成员都可以被取代. ...