转载说明: 内容来自StackOverflow: Message ‘src refspec master does not match any’ when pushing commits in Git
笔者在实际开发过程中遇到的一些问题并找到解决方案,将此记录成博客,以供后面复盘。
前言
笔者最近遇到一个问题,由于软件代码迭代升级,github源项目中的代码更新到了最新版本。按常理来说,我应该将自己的项目也跟着更新(反向pr),但是我当时可能是没有考虑那么多,直接从官网
git clone
了源代码工程。
现在在本地修改后,想要将工程传到自己的项目里面,再提交pr。这时遇到了一些问题,故作此记录,以供后面系统学习相关理论进行分析。
操作步骤(默认此时就在github工程根目录下,且修改了代码bug准备上传工程了)
- 修改.git文件夹下的config文件:
vim .git/config
- 将url改成自己的github仓库地址
比如我将https://github.com/intel/ros_openvino_toolkit.git
修改成了https://github.com/Corsair-cxs/ros_openvino_toolkit
修改完成后,检查一下效果:git remote -v
git add .
git push -u origin 你的分支名
注意这里的-u参数!git commit -m "你的注释"
git push origin 你的分支名
参考链接
StackOverflow: Message ‘src refspec master does not match any’ when pushing commits in Git
参考资料 : github 提交的产生
新的提交未必一定得包含工作区中所发生的所有修改。事实上在这一方面,Git赋予了用户完全的控制权。 甚至,我们可以用它来摘取合并其中的一些修改,并将其纳入下一次提交中。
提交的产生通常被分为两个步骤。首先,我们要用add命令将所有相关的修改纳入到一个缓存区(buffer)中。这个缓存区通常被叫做暂存区(staging area)或索引(index)。接着,我们才能用commit命令将暂存区中的修改传送到版本库中。
版本库中各修改信息的传递路线