git工具用法小结

1. submodule

有时候, 遇到复杂的项目会存在submodule, 要拉取这样的仓库, 需要这样. (至于如何给自己的项目添加一个submodule, git官方给了例子, 就不复制了)

1
2
3
git pull remote main
git submodule update --init # 初始化submodule以及拉取其代码
git submodule update <submodule-name> # 获取submodule的远程更新, 也可以不指定名字, 全部更新.

2. commit

-i 表示进入交互模式

HEAD~10 表示目标是从HEAD向前(更早)的10次提交

1
git rebase -i HEAD~10

随后打开一个交互界面, 将pick都替换为squash, !!! 除了最顶上那行的pick保留, 那是HEAD指针所指向的最新提交. 最后保存文件退出即可.

退出后, 会进入另一个文件, 这里是编辑commit的提交信息的, 每个合并的commit其信息会被合并在一起, 因此是否修改可以看需求, 一般直接退出就行了.

这里是rebase中其他可供使用的命令:

命令:
p, pick <提交> = 使用提交

r, reword <提交> = 使用提交,但编辑提交说明

e, edit <提交> = 使用提交,但停止以便在 shell 中修补提交

s, squash <提交> = 使用提交,但挤压到前一个提交

f, fixup [-C | -c] <提交> = 类似于 “squash”,但只保留前一个提交
的提交说明,除非使用了 -C 参数,此情况下则只
保留本提交说明。使用 -c 和 -C 类似,但会打开
编辑器修改提交说明

x, exec <命令> = 使用 shell 运行命令(此行剩余部分)

b, break = 在此处停止(使用 ‘git rebase --continue’ 继续变基)

d, drop <提交> = 删除提交

l, label

t, reset

m, merge [-C| -c]

可以对这些行重新排序,将从上至下执行。

如果您在这里删除一行,对应的提交将会丢失。

然而,如果您删除全部内容,变基操作将会终止。


git工具用法小结
https://www.torch-fan.site/2022/07/27/git工具用法小结/
作者
Torch-Fan
发布于
2022年7月27日
更新于
2022年11月15日
许可协议