修改代码之Git策略思考:
有三种办法:
- 需要在主分支上新建一个分支,不合并
- 新建版本。其实也是先新建一个分支,然后合并到主分支,再删除分支。
- 直接新建远程仓库。
考虑,3)最浪费,其实还是同一个项目,所以没必要新建仓库。考虑1),直接新建分支,后面可以选择根据需要从两个分支拉,后面如果需要合并删除,用版本号来控制,也可以再合并删除。
关于git获取指定版本的仓库见:
git 如何拉取指定版本的代码? - DoubleLi - 博客园 (cnblogs.com)
有关Git的基本操作:
Git 基本操作 | 菜鸟教程 (runoob.com)
Git详细入门笔记 - 知乎 (zhihu.com)
轻松学习Git - 知乎 (zhihu.com)
操作记录
由于不是很熟,这里记录下:
新建分支:
git branch medfilter-v2
然后在之前pull下来的代码(工作区)中修改,先只修改matlab版本(C版本的比较难改)。
提交到暂存区:
git add .
提交到本地仓库:
git commit -m"一维中值滤波接口第二版,即原信号减去第一版中值滤波结果,修改matlab版本"
由于远程仓库,并未建立对应的新分支,即远程还没有这个分支,更没有将这个分支远程和本地仓库映射起来,所以要用以下形式,用本地仓库建立远程对应的仓库。
git push git@59.110.237.20:zhanghu/medfilter.git medfilter-v2:medfilter-v2
见:git push命令详解-CSDN博客
查看版本记录:
Git log
可见如下结果,版本记录中有分支建立版本。
按q键,可退出log命令(CTRL+c貌似没用),否则会一直卡在上面界面。
详解git log退出_笔记大全_设计学院 (python100.com)
后续,如果再将本地仓库推送到远程仓库,则不需要再输入本地分支名和远程分支名了。甚至,连远程地址也不需要输入?
在远程的gitlab中,可以看到原仓库下有两个分支了:
点开分支,可见详细情况,已经有主分支main和新分支medfilter-v2了:
另外,这里右上角也可以直接新建分支,但是要注意这里新建分支后,本地工作区需要重新拉取,才能将本地仓库和远程仓库的新建分支对应起来(映射上)。
其他:
如果在Gitlab中建项目,本地最好用pull先拉取到工作区编辑,注意pull前先要git init.