![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
git
gitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgitgit
Chasing__Dreams
这个作者很懒,什么都没留下…
展开
-
git--merge时加no-ff与不加no-ff的区别
在许多介绍 Git 工作流的文章里,都会推荐在合并分支时,加上 --no-ff 参数:$ git checkout develop$ git merge --no-ff feature--no-ff 在这的作用是禁止快进式合并。Git 合并两个分支时,如果顺着一个分支走下去可以到达另一个分支的话,那么 Git 在合并两者时,只会简单地把指针右移,叫做“快进”(fast-forward),比如下图: A---B---C feature /D---E---F m转载 2021-08-19 11:48:25 · 255 阅读 · 0 评论 -
git--push失败解决方案
远程创建了含有Readme的仓库, 本地初始化并添加了远程仓库后, push却失败了, 出现提示:$ git push origin devTo https://git.oschina.net/erchoc/laradock.git ! [rejected] dev -> dev (fetch first)error: failed to push some refs to 'https://git.oschina.net/erchoc/laradock.git'hin转载 2020-09-18 22:24:58 · 1200 阅读 · 0 评论 -
git--git status -s 状态解读
A: 你本地新增的文件(服务器上没有).C:文件的一个新拷贝.D:你本地删除的文件(服务器上还在).M: 文件的内容或者mode被修改了.R: 文件名被修改了。T:文件的类型被修改了。U:文件没有被合并(你需要完成合并才能进行提交)。X: 未知状态(很可能是遇到git的bug了,你可以向git提交bug report)?:未被git进行管理,可以使用git add file1把file1添加进git能被git所进行管理...转载 2020-09-16 23:01:35 · 1644 阅读 · 0 评论 -
git--commit对象备注修改
两种情况:1.已经将代码push到远程仓库2.还没将代码push到远程仓库,还在本地的仓库中这两种情况下的修改大体相同,只是第一种情况最后会多一步下面来说怎么修改先搞清楚你要修改哪次的提交注释或者哪几次的提交注释修改最后一次注释如果你只想修改最后一次注释(就是最新的一次提交),那好办:git commit --amend出现有注释的界面(你的注释应该显示在第一行), 输入i进入修改模式,修改好注释后,按Esc键 退出编辑模式,输入:wq保存并退出。ok,修改完成。例如修改时编辑界面的图:转载 2020-09-16 22:57:11 · 464 阅读 · 0 评论 -
git--分支_分支的新建与合并
分支的新建与合并让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤:(1) 开发某个网站。(2) 为实现某个新的用户需求,创建一个分支。(3) 在这个分支上开展工作。正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补。 你将按照如下方式来处理:(1) 切换到你的线上分支(production branch)。(2) 为这个紧急任务新建一个分支,并在其中修复它。(3) 在测试通过之后,切换回线上分支,然后合并这个修补分支,最后将改转载 2020-09-16 10:38:11 · 392 阅读 · 0 评论 -
git--git diff结果解读
diff --git a/new.txt b/new.txt //a版本的new.txt(变动前) 与 b版本的new.txt(变动后) 比较index 0e9cc9b..af0a351 100644 //a版本的在index的对象的哈希值 b版本在工作区的对象的哈希值 文件信息(644表示权限)--- a/new.txt //变动前的文件+++ b/new.txt //变动后的文件@@ -1,2 +1,3 @@//变动前的文件从第1行开始,连续2行;变动后的文件第行开始,连续3行存在差异 。.原创 2020-09-15 16:39:56 · 1282 阅读 · 0 评论 -
git--diff对比原理
转载 2020-09-15 16:05:14 · 1415 阅读 · 0 评论 -
git --暂存区存在的意义
1.分段提交分段提交,可能不想把整个工作空间的修改内容提交,加入暂存区就可以分段提交。其实要解释这个问题的话,需要回到GIT的前辈上来—>SVN,集中式源代码管理工具的集大成者。我们知道SVN相较于第一代源代码管理工具如VSS、CVS有几个显著的区别,其中最重要的特性之一就是原子性提交,每一个提交都是由多个文件的修改组成,而且这个提交是原子性的,要么这些修改全部成功,要么全部失败。原子性提交带来的好处是显而易见的,这使得我们把项目整体还原到某个阶段或者时间点变得极为简便,就这一点SVN就完虐VSS转载 2020-09-14 10:24:30 · 1642 阅读 · 1 评论 -
git--基础知识点--8--连接远程仓库
1. 用户名,密码2. ssh3. token最方便又不失安全性的一种方案3.1 创建远程仓库(1)(2)(3)3.2 创建token(1)(2)(3)(4)(5)**(6)**选上所有选项(7)3.3 创建本地仓库**(1)**创建一个文件夹**(2)**初始化本地仓库**(3)**创建远程仓库别名**(4)**测试别名是否可用,远程仓库连接是否成功上图表示别名可用,远程仓库连接成功...原创 2020-09-18 22:12:12 · 253 阅读 · 0 评论 -
git--基础知识点--7--hooks
1. 么是Git Hooks?话说,如同其他许多的版本控制系统一样,Git也具有在特定事件发生之前或之后执行特定脚本代码功能(从概念上类比,就与监听事件、触发器之类的东西类似)。Git Hooks就是那些在Git执行特定事件(如commit、push、receive等)后触发运行的脚本。按照Git Hooks脚本所在的位置可以分为两类:本地Hooks,触发事件如commit、merge等。服务端Hooks,触发事件如receive等。2. Git Hooks能做什么?Git Hooks是定制转载 2020-09-17 20:56:30 · 417 阅读 · 0 评论 -
git--基础知识点--6--多人协作开发
Git可以完成两件事情:1.版本控制2.多人协作开发如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发。如果有多个开发人员共同开发一个项目,如何进行协作的呢。Git提供了一个非常好的解决方案 ---- 多人协作开发。多人协作原理典型的做法是,首先创建一个git服务器,被多个人所操作。1.多人协助实现分为如下几个步骤:1.创建一个git裸服务器 (git init --bare)2.从裸服务器将版本库克隆至本地(git clone )3.本地常规操作4.推送版本至转载 2020-09-18 13:03:06 · 216 阅读 · 0 评论 -
git--基础知识点--5--命令
git init初始化本地库,在当前目录下出现一个.git目录git hash-object new.txt为相应的文件产生一个长度为40的SHA-1哈希字符串git update-index --add new.txt将相应的文件放入暂存区(即index文件),并在.git/objects目录下生成一个以该SHA-1的前两个字符命名的子目录,然后在该子目录下,存储刚刚生成的一个新文件,新文件名称是SHA-1的剩下的38个字符。git add new.txt== git hash-o原创 2020-09-18 22:35:12 · 201 阅读 · 0 评论 -
git--基础知识点--4--git文件变化状态周期
git的文件状态变化周期,如下图所示工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。git commit -m用于提交暂存区的文件;git commit -am用于提交跟踪过的文件。对于已跟踪过的文件来说git commit -am == git add + git commit -m...原创 2020-09-16 22:45:55 · 452 阅读 · 0 评论 -
git--基础知识点--3--commit/tree/blob/tag
1. commit/tree/blobblob在执行git update-index filename 或git add filename后生成,即加入暂存区时生成。是一个字节码文件,保存的是一个特定的文件头+加入暂存区的文件的内容。tree在执行commit时生成。根据index文件生成。保存的是暂存区的目录信息。若暂存区有多个文件夹或子文件夹,会为每个文件夹生成一个tree对象。commit在执行完commit后生成。保存的是tree对象(tree)、当前分支的前一个commi原创 2020-09-17 22:46:52 · 202 阅读 · 0 评论 -
git--基本知识点--2--.git目录结构
<.git>├COMMIT_EDITMSG # 最新一次提交的备注信息(并不是HEAD所指备注),git系统不会用到,给用户一个参考├config # 配置文件,项目用户名、邮箱在该文件配置。详解├description # 仓库的描述信息,主要给gitweb等git托管系统使用├FETCH_HEAD # 是一个版本链接,指向着目前已经从远程仓库取下来的分支的末端版本├HEAD # 映射到ref引用,能够找到下一次commit的前一次哈希值,例如:ref: refs/heads/m.原创 2020-09-17 21:41:05 · 552 阅读 · 0 评论 -
git--基本知识点--1--工作区/暂存区/版本库
基本概念我们先来理解下 Git 工作区、暂存区和版本库概念:工作区:就是你在电脑里能看到的目录。暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。版本库:工作区有一个隐藏目录.git,这个不算工作区,而是 Git 的版本库。下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:图中左侧为工作区,右侧为版本库。在版本库中标记为"index"的区域是暂存区(stage/index转载 2020-09-18 11:27:43 · 232 阅读 · 1 评论