可以使用三条命令来恢复到上一个commit:git reset --soft HEAD~ 、 git reset --mixed HEAD~ 、git reset --soft HEAD~ HEAD~表示的是当前commit节点的父节点。 1. git reset--softHEAD~ // 撤销git仓库的上一次的commit,但是不改变暂存区以及工作区 执行上面的命令,指针移动如下:git仓库中的HEAD指针以及...
说明HEAD不仅仅可以指向新分支的最后一次提交,还可以不跟branch挂钩,会指向到具体的commit上去了;当切换branch的时候,HEAD也会跟着变化 查看HEAD指向的类型 cat .git/HEAD#查看HEAD里面的内容 image.png 上图说明HEAD指向fix_readme分支 image.png 说明HEAD最终指代的类型是commit,分支指代的类型也是commit;但HEAD还可...
这一节主要是几个概念的解释:HEAD、master 以及 Git 中非常重要的一个概念: branch。 引用:commit 的快捷方式 首先,再看一次 log: 通过查看 log,可以对这个逻辑进行验证: 当有人使用 git clone 时,除了从远程仓库把 .git 这个仓库目录下载到工作目录中,还会 checkout (签出) master(checkout 的意思就是把某...
将 branch 上的所有改动保存到当前的暂存区中,如果在本地使用 git merge --squash 命令进行 merge 的话,还需要进行一次 commit 操作,将 staged change 提交,才算是完成了整个 merge 的过程,在网页端,当我们点击 squash and merge 按钮并且填写好本次提交的 commit 信息后,网页端会自动帮助我们完成上述操作,假设...
这一节主要是几个概念的解释:HEAD、master 以及 Git 中非常重要的一个概念: branch。 引用:commit 的快捷方式 首先,再看一次 log: 通过查看 ...
1.HEAD基础 git checkout 实际上是修改HEAD文件的内容,让其指向不同的branch。 HEAD文件指向的branch就是当前branch. 一般来讲,HEAD的内容是指向staging(暂存区)的master文件的。 1. ref: refs/heads/master 1. 当然也可指向其他索引文件,不管怎么样,这个索引文件的内容又由git reset控制。
git branch <branchname> 执行branch 命令时,(默认情况下)使用当前分支的指针,并创建新分支,后者指向与当前分支相同的提交。branch命令不会自动将当前分支更改为新分支。 因此,您需要使用checkout命令。 git checkout <branchname> Git 使用另一个指针(称为 HEAD 指针),指向当前正在使用的分支。 无论何时执行 chec...
git merge<branchname> 例如,切换到 main 分支并合并 feature-xyz 分支: git checkout main git merge feature-xyz 解决合并冲突 当合并过程中出现冲突时,Git 会标记冲突文件,你需要手动解决冲突。 打开冲突文件,按照标记解决冲突。 标记冲突解决完成:
如果我们要手动创建一个分支。执行 git branch (branchname) 即可。 $ git branch testing $ git branch * master testing 现在我们可以看到,有了一个新分支testing。 当你以此方式在上次提交更新之后创建了新分支,如果后来又有更新提交, 然后又切换到了testing分支,Git 将还原你的工作目录到你创建分支时候的样子。
git checkout branch_name 创建新分支 如果是在创建新分支时出现detached HEAD状态,可以使用以下命令创建新分支: git checkout -b new_branch 删除分支 如果是在删除分支后出现detached HEAD状态,可以使用以下命令删除分支: git branch -d branch_name 强制切换到分支 ...