git
文章平均质量分 89
oceanweave
这个作者很懒,什么都没留下…
展开
-
【git使用】常用的 git 撤销操作(restore、reset、revert)
注意坑新增文件是未被跟踪状态(untracked),也就是下面命令不会对此文件生效所以新增文件,需要先被 git 记录到,也就是 git add new-file之后执行这些操作,就会生效了# 丢弃工作区的修改(不包括对文件自身的操作,如添加文件、删除文件)# 将暂存区的修改重新放回工作区(包括对文件自身的操作,如添加文件、删除文件)# 撤销最新的 commit,将其改动放回到 工作区git reset HEAD~ # 或 git reset --mixed HEAD~ 都是同一个意思。原创 2024-01-04 17:18:26 · 1447 阅读 · 1 评论 -
【git使用】深度理解 git merge合并的使用场景
因此对于 merge commit,只需要记录究竟是保留了 A 的改动还是 B 的改动即可,因此大多数情况下我们 merge commit 都是没有变更的,只是个记录。首先,关于 commit,我们可以理解为,每个 commit 会保留一个 pointer 指向它的 parent commit,并且一般我们的 commit 只有一个 parent。例如上面的例子,A 改成了 123,B 改成了 456,因此存在冲突,解决冲突的时候改成了 789,因此 merge commit 有了改动。转载 2024-01-04 16:26:05 · 1495 阅读 · 0 评论 -
【git使用】了解三种git commit合并的使用场景(rebase、merge、cherry-pick)
在 dev 上开发了一段时间后要把 master 分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master,等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev。rebase的过程实际就是以当git 前最新的master的版本,再"拉"出一条分支作为当前最新的分支上,原先该分支上的改动就变成现在分支上的新的commit 了。上面的命令可以转移从 A 到 B 的所有提交。原创 2024-01-04 16:25:06 · 1805 阅读 · 1 评论 -
【git使用】历史commit的分割(git rebase和 git reset的联合使用)
因为每一个commit只会保存它的parent节点,并不知道它的下一个节点时什么。比方说在一次 commit 中,包含了两个编辑过的文件(A 和 B);commit 01, commit 02, commit 03 为最近的三次提交,是提交时的备注信息。可以配合不同的模式(–mixed, --soft, --hard)达到不同的效果。后,会列出 commit-B 之后的所有 commit,之后 vim 形式操作。该命令主要用于修改历史 commit,如历史 commit 的拆分,合并等。原创 2024-01-04 16:23:16 · 1252 阅读 · 0 评论