git相关整理
title: git相关整理
toc: false
date: 2018-09-24 20:42:55
git merge 和 git merge --no--ff有什么区别?
git merge命令用于合并指定分支到当前分支。默认情况下,执行快进式合并(fast-farward merge),直接通过把master指向feature来将两个分支并为一个分支,只保存master的分支信息。
git merge --no--ff执行正常合并,在master分支上生成新的节点,就可以保存之前的feature分支历史。能够更好的查看merge历史和branch状态。
因此为了保证版本演进的清晰,推荐使用--no--ff的方法。


工作区与暂存区
工作区:workspace,git管理的当前文件夹
暂存区:stage/index,工作区与分支之间的中转站

git add——将修改添加到暂存区
git checkout -- filename——撤销工作区中指定文件的修改
git checkout . ——撤销工作区中当前目录中的所有更改
git rm --cached filename——删除暂存区中的指定文件,但保留本地文件
git rm filename——删除暂存区中的指定文件,同时删除本地文件
版本回退
reset
git reset --soft ——只回退commit,暂存区和工作区不做出改变。
git reset --hard——回退commit、暂存区、工作区,即本地的代码也会回退,慎用!
git reset --mixed——回退commit和暂存区,以上两种情况的中和版本,reset不带参数的默认方式
关于版本:
HEAD——当前版本
HEAD^——上一个版本
HEAD^^——上上一个版本
HEAD^^^——上上上一个版本
HEAD~n——上n个版本
也可以使用commitID
一个栗子:
git reset --soft HEAD^
只回退commit到上一个版本
reset回退不会保留回退到的版本之后的所有commit,因此在push时会因为落后于远程commit而报错,若想强制覆盖,可以为push命令加上--force或-f来进行强制操作。
revert
revert用一个新提交来消除一个历史提交所做的所有修改,即
revert不影响以前的所有commit
git revert HEAD // 撤销最近一次提交
git revert HEAD^ // 撤销上上次提交
git revert commitID // 撤销指定id的提交
回退暂存区的修改
git reset HEAD,命令具体含义看上边的版本回退。
删除分支
git branch -d BranchName——删除本地分支
git push origin --delete BranchName/git push origin :BranchName——删除远程分支
git pull 与 git fetch 区别
git fetch——拉取远程分支并更新到origin/BranchName分支中
git pull——拉取远程分支后与本地当前分支合并
git fetch origin master // 保存在本地'origin/master'分支中
git merge origin/master // 将fetch到的分支合并到本地的当前分支中
git pull origin master // 以上两句命令相当于这一句命令
合并时出现冲突的解决办法
git merge显示冲突时,
使用git status查看冲突的文件,
冲突部分用<<<<<<< ======= >>>>>>>标示,
编辑冲突的文件:
// ……
<<<<<<< HEAD // 合并当前分支的内容
// ……
=======
// ……
>>>>>>> BranchName // 合并前要合并的分支的内容
// ……
然后git add冲突文件发现成功了!秒啊!
git相关整理的更多相关文章
- Git相关整理以及学习
1.取消还未进入暂存区的修改 git checkout + 文件名 2.取消已经进入暂存区但是还未提交的修改 git reset HEAD + 文件名 3.清理在远程仓库已经被删除的本地分支 git ...
- Git 常见问题整理
在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ c ...
- Git 初学者使用指南及Git 资源整理
Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...
- 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例
你所不知道的 CSS 阴影技巧与细节 关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow ...
- Git相关安装包打包下载
Git相关软件偶尔需要***才能下载,故分享于此 1.Git-2.15.0-64-bit.exe 2.TortoiseGit-2.5.0.0-64bit.msi 3.TortoiseGit-Langu ...
- git 相关流程和报错解决
git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email XXX@XXX.com git re ...
- Sqlite多线程相关整理
Sqlite多线程相关整理 Sqlite With MultiThreads 什么是线程安全? 当多个线程访问某个方法时,不管你通过怎样的调用方式.或者说这些线程如何交替地执行,我们在主程序中不需要去 ...
- git相关操作
git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...
- git笔记整理-learnGitBranching
声明 此篇文章内容是本人在 github上寻找到Peter Cottle的项目 https://github.com/pcottle/learnGitBranching.git 中学习git相关命令时 ...
随机推荐
- 使用CNN做文本分类——将图像2维卷积换成1维
使用CNN做文本分类 from __future__ import division, print_function, absolute_import import tensorflow as tf ...
- EOJ 3 玩具谜题
小南有一套可爱的玩具小人,它们各有不同的职业. 有一天,这些玩具小人把小南的眼镜藏了起来.小南发现玩具小人们围成了一个圈,它们有的面朝圈内,有的面朝圈外.如下图: 这时 singer 告诉小南一个谜题 ...
- 常用相关linux命令
查看进程netstat -tnlp | egrep "(9097)" lsof -i:9097 ps -ef | grep kafka 观察句柄变化lsof -p $pid | w ...
- vs的任务列表
前几天才刚开始看到这个 很多时候,一些任务,怕忘记了,或者已经做好的东西,由于各种原因,暂时不用等等这种情况 这时候,就可以在vs上,随时加到任务列表中,方面下次直接来修改或实现等等 在vs的视图&g ...
- Javascript 正则表达式简述
本文地址:http://www.cnblogs.com/blackmanba/p/regular-expressions-introduce.html 或者 http://forkme.info/re ...
- DirectUI界面编程(一)创建第一个应用
1.获取Duilib库文件 通过上一节大家对DirectUI界面设计有了初步的了解,本节开始我们一起学习Duilib界面库的使用. 首先我们需要获取Duilib库,目前最新版本为2.0,最新版本源码托 ...
- JavaScript:理解执行环境、作用域链和活动对象
作用域的原理,对JS将如何解析标识符做出了解答.而作用域的形成与执行环境和活动对象紧密相关. 我们对于JS标识符解析的判断,存在一个常见误区 首先,看一个关于JS标识符解析的问题 ,源于风雪之隅提出的 ...
- SASS概览
1.安装: sass需要使用ruby,首先安装ruby,之后: gem install sass 编译: sass input.scss output.css 2.快速入门: 变量: .scss 变量 ...
- vue如何根据返回的值对元素进行样式渲染
1.最终显示样式: 需要:根据任务状态值,显示不同颜色的原点表示任务状态,以及对优先级的数据,进行☆标记 2.代码实现: 在<el-table-column>中需要显示的内容前面,添加图标 ...
- VUE:过滤器及日期格式化moment库
VUE:过滤器及日期格式化moment库 <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...