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相关整理的更多相关文章

  1. Git相关整理以及学习

    1.取消还未进入暂存区的修改 git checkout + 文件名 2.取消已经进入暂存区但是还未提交的修改 git reset HEAD + 文件名 3.清理在远程仓库已经被删除的本地分支 git ...

  2. Git 常见问题整理

    在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ c ...

  3. Git 初学者使用指南及Git 资源整理

    Git 资源整理 Git is a free and open source distributed version control system designed to handle everyth ...

  4. 你所不知道的 CSS 阴影技巧与细节 滚动视差?CSS 不在话下 神奇的选择器 :focus-within 当角色转换为面试官之后 NPOI 教程 - 3.2 打印相关设置 前端XSS相关整理 委托入门案例

    你所不知道的 CSS 阴影技巧与细节   关于 CSS 阴影,之前已经有写过一篇,box-shadow 与 filter:drop-shadow 详解及奇技淫巧,介绍了一些关于 box-shadow  ...

  5. Git相关安装包打包下载

    Git相关软件偶尔需要***才能下载,故分享于此 1.Git-2.15.0-64-bit.exe 2.TortoiseGit-2.5.0.0-64bit.msi 3.TortoiseGit-Langu ...

  6. git 相关流程和报错解决

    git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email XXX@XXX.com git re ...

  7. Sqlite多线程相关整理

    Sqlite多线程相关整理 Sqlite With MultiThreads 什么是线程安全? 当多个线程访问某个方法时,不管你通过怎样的调用方式.或者说这些线程如何交替地执行,我们在主程序中不需要去 ...

  8. git相关操作

    git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...

  9. git笔记整理-learnGitBranching

    声明 此篇文章内容是本人在 github上寻找到Peter Cottle的项目 https://github.com/pcottle/learnGitBranching.git 中学习git相关命令时 ...

随机推荐

  1. python matplot 绘图

    import numpy as np import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.figure(2) # 创建图表2 ax1 = ...

  2. 在阿里云的iis上安装php扩展

    具体参照http://jingyan.baidu.com/article/11c17a2c5ce349f447e39d6d.html

  3. 2016 提高组c++ 错题

    需重做 树的重心 链表 计算机基础知识 无线通讯技术: 蓝牙,wifi,GPRS 现在常用的无线通信技术:FM调频广播(用于收音机): 2G.3G移动通信技术(中国移动.中国联通.中国电信正在运营的网 ...

  4. DateTime? 定义的日期变量如何format

    DateTime? dateTime; dateTime.Value.ToString("yy-MM-dd")

  5. 高并发之web服务器负载均衡简单介绍

    负载均衡种类 F5,七层负载均衡,四层负载均衡 Nginx负载均衡 内置策略.扩展策略 内置策略:IPHash.加权轮询 扩展策略:fair策略.通用hash.一致性hash 加权轮询策略 首先将请求 ...

  6. 多帧图片转gif

    示例 工具photosh cc2017 1: 文件--> 脚本--> 将文件载入堆栈--> 选择文件-->勾选窗口的时间轴-->底部 从图层建立帧--> 设置时间延 ...

  7. Primitive data types recap

  8. HDU 1176 免费馅饼【动态规划】

    解题思路:用a[i][j]表示在第i秒在地点j的掉落馅饼的数量,设整个馅饼掉落的时间持续为timemax,即为矩阵的高度,一共0到10个地点,为矩阵的长度,如图,即可构成数塔,因为考虑到在地点0的时候 ...

  9. Python测试(二)

    # 1.计算1-300之间所有能被3和7整除的所有数之和# num = 0# for i in range(1,300):# if i%3 ==0 and i%7 ==0:# num += i# pr ...

  10. 《Exception》第八次团队作业:Alpha冲刺(大结局)

    一.项目基本介绍 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 Exception 作业学习目标 1.掌握软件测试基础技术.2.学习迭代式增量软 ...