GIT
注意
请保证与git上仓库同步
使用clone,克隆下来!
而非安装zip包
今天在提交代码时git push xxx xxx 之后出现如下错误,记录一下
git push origin dev
error: src refspec dev does not match any
本人之前因为新建模块错误有删过项目重新再github上clone的经历,项目在github上有两个分支,dev和master
附上git拉取过程
git clone xxx
git pull origin dev
以上过程都是正常的
在修改完代码后我想提交
git pull origin dev
git add .
git commit -m"kevin update something"
git pull origin dev
上面的过程都是正常的
异常重现
git push origin dev
error: src refspec dev does not match any
在看了一些博客之后,了解到;
Git Reference简写为refs,是管理本地分支的
- 本地分支的Reference格式:refs/heads/<local_branch_name> 如refs/heads/master,在保证唯一的情况下可以简写为master
- 远程追踪分支的Reference格式:refs/remotes/ <remote_repository>/<remote_branch_name> Reference Specification简称refspec 在执行push或fetch操作时,refspec用以给出本地Ref和远程Ref之间的映射关系
所以问题应该是出在了本地分支和远程当前分支不匹配上
查看当前本地分支
git branch
发现当前只有master默认分支,而我提交的是到远程的dev分支
新建并切换分支
git checkout -b dev
Switched to a new branch 'dev'
git branch
* dev
master
重新提交
git pull origin dev
git add .
git commit -m"xxx"
// git pull origin dev
git push origin dev
拉·推 项目
- 第一次是直接clone (无需自己手动init)
- 之后推送自己的修改的文件:- git add .- git commit -m “”- (自己看下有没有需要 添加远程仓库) git remote add origin(自己起的名字) 地址- git pull origin 分支名- git push [shortName] [name]
- 如果当前本地仓库不是从远程仓库克隆,而是自己创建的,并且仓库中存在文件,那么在从远程仓库拉取文件时- 要变成 git pull [short-name] [branch-name] --allow=unrelated-histories- 进入新的窗口 - i 转成输入- 输入信息- 按 Esc- 输入 :wq (保存退出)
分支操作
- git branch 查看分支
- git branch [name] 创建分支
- git checkout[name] 切换分支
- git push [shortName(远程仓库别名)] [name(分支名称)] 推送本地所在分支 至 远程仓库分支
- git merge [name] 合并分支
分支合并冲突
- git merge [branch] ==> 当前分支 合并 【】 分支
- 报错
- 自己手动修改文件
- git add .
- git commit -m “”
- 报错:fatal: cannot do a partial commit during a merge
- 修改 git commit -m “” 为 - git commit -m “” -i
标签操作
- git tag 列出已有的标签
- git tag [name] 创建标签
- git push [shortName] [name] 标签推送到远程仓库
- git checkout -b [branch] [name] 检出标签(下载当时标签对应的代码) - 检出标签时需要创建一个新的分支来指向某个标签
在 IDEA 中 使用 Git
版权归原作者 GooO_O 所有, 如有侵权,请联系我们删除。