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冲突文件发现成功了!秒啊!

原文地址:https://www.cnblogs.com/zmj97/p/10161660.html

时间: 2024-08-05 14:35:57

git相关整理的相关文章

Git 常见问题整理

在学习git的过程中,遇到如下问题,特整理如下: 1 error:src refspec master does not match any 问题产生 a git服务器使用如下命令新建一个项目 $ cd /opt/git $ mkdir project.git $ cd project.git $ git --bare init b 客户端clone代码并提交 $ cd myproject $ git init $ git add . $ git commit -m 'initial commi

NSDateFormatter相关整理

//实例化一个NSDateFormatter对象NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];//设定时间格式,这里可以设置成自己需要的格式[dateFormatter setDateFormatter:@"yyyy-MM-dd HH:mm:ss"];NSString *currentDate = [dataFormatter stringFromDate:[NSDate date]];注:这里的 [NSD

Git 相关汇总

1 删除远程分支: git push origin :branch-name        冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支. Git 相关汇总,布布扣,bubuko.com

常用git命令整理

花了一点时间来熟悉和整理git常用命令. 推荐的git学习资料:1.搜“Git Community Book 中文版.pdf”,git社区书,内容全面且简明扼要,第一推荐2.搜“Git权威指南.pdf”,国内一高人写的,非常细致深入,各种解释说明.不过,也太厚了点,可以作为文档查询3.ProGit,在这里读“http://git-scm.com/book/zh”,写得非常好,可选前面几章作为初学.但内容不足够我先扫了3的某几章,然后看1,基本足够.偶尔查询一下2. 感觉图形化的版本变迁图非常重要

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/[email protected]/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方便 时隔一年,也该维护修改一下 修改说明(当然还有很多未完成): 统一使用C语言标准(原有的是C++的一些特性) 代

ORACLE ERP相关整理汇总

摘自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763104687270e54f7633f8883492c81c40884642c101a39feed7c63525483846b6777ac4f5aeefb3765377523a09bbfd20c82e5866d72c8713b2d5cd5104c840eafba11658337902bb6e947f0bb802594dac5d2af0b008c044521d3ae9c5b700

git命令整理备忘

git命令整理备忘 参考https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 一.基本命令 打开 git bash #创建本地 git 仓库: $ cd /home/object $ git init #添加文件 $ git add readme.md #跟踪整个文件夹可以使用 git add . $ git commit -m'说明' #提交 add 到的文件 $ git comm

git 相关流程和报错解决

git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email [email protected] git remote add origin [email protected]:ERP/user-dockerfile.git 1. git config --global user.name XXX 2. 克隆master到本地,git clone [email protected]:bag/us

Git相关命令整理(更新中。。。)

分支相关命令 创建分支 git branch <name> 查看本地分支 git branch 查看所有分支 git branch -a 查看远程分支 git branch -r 切换分支 git checkout <name> 创建并切换分支 git ceckout -b <name>