1 初始化仓库,修改vscode的配置
初始化所有子仓库
git submodule init
git submodule update
使git插件能展示所有的子仓库,默认只检测10个,如果子仓库比较多需要一个个点
2 操作所有子仓库
2.1 整体一起切分支
git submodule foreach git checkout -B origin/sit sit
这个是强制切分支,适用于本地还没有分支
git submodule foreach git checkout -b sit
这个是切本地分支,相对的适用于本地已经有了分支
2.2 全部更新
git submodule foreach git pull
3 单独操作子仓库
3.1 拉代码
英文就是 pull
3.2 stage、commit、push
3.2.1 点击更改中的+号就是stage,对应的是命令行git add
3.2.2 之后会进入暂存区,在输入框输入message,点击 勾,就是commit
commit成功后左下角会出现待push的条数
3.2.3 点击推送到远程仓库。到此走完了完整的提交代码流程
3.3 合并分支
以合并dev -> st为例 首先需要将本地的dev和st的代码都更新到最新的状态,分别切到dev、st分支拉取代码,点击这里可以切换分支
拉代码参考3.1
开始合并的时候需要将本地切换到st分支,再执行合并
会让你选分支,这里我们选dev分支。
这里只是将你的本地仓库合并了,然后还需要执行push操作(3.2.3)推送到远端
3.4 撤销修改
这里分几种情况,修改了没提交和已经提交了。
我们修改的文件都在git插件的列表里有显示。
3.4.1 修改了没有stage和commit
点击这个返回箭头就是撤销修改
如果你已经暂存了(3.2.1的操作),需要点 - 撤销暂存,再重复上一步操作才算撤销。
3.4.2 已经commit了
需要先撤回commit
撤销了之后会是暂存的状态,我们需要再重复3.4.1的操作才是完全抹掉修改。
3.5 回滚代码
这里推荐安装gitlens,很实用的git插件。
回滚有git reset和git revert,推荐用git revert,以revert为例
4 gitlens插件使用
4.1 查看仓库信息
点击左下角切换分支可以查看不同分支的提交记录。在cherry-pick需要知道commitID的时候挺实用的。
4.2 查看每行代码最后修改人和文件历史
在安装gitlens插件后,会自动显示鼠标光标所在行的修改记录 文件历史可以在打开文件后在左下角查看
4.3 回滚代码,参考3.4
点击之后,还需要重新提交推送