git操作总结


git提交代码的总体流程

git init #初始化该文件夹为git仓库
git add . #将本文件夹下的所有文件暂存
git commit -m "" #将代码更改保存到本地版本库中
git remote add origin https://github.com/xxx/xxx.git #将本地仓库与远程仓库关联
git push -u origin master #将本地代码推送到远程仓库

问题描述

1.本地分支与远程库分支不匹配

在vscode中初始化文件夹默认是保存在master分支的,而github默认是在main分支,如果直接进行推送会出现下列错误

fetal: src refspec master does not match any
  • 解决方法:
git branch -l  #列出目前所在分支
git checkout main #如果main分支存在就直接切换到main分支
git branch -m master main  #将master分支重命名为main

再进行推送就成功了。

2.无法连接到服务器

再vscode推送代码时出现下面错误

fatal: unable to access 'https://github.com/xxx/xxx.git/': Failed to connect to 127.0.0.1 port 1080 after 2016 ms: Couldn't connect to server
  • 是代理的问题
git config --global --get http.proxy  #查看http协议代理
git config --global --get https.proxy #查看https协议代理

git config --global --unset http.proxy  #取消代理
git config --global --unset https.proxy

git config --global http.proxy http://127.0.0.1:7890   #设置http协议代理
git config --global http.proxy socks5://127.0.0.1:7891 #设置socks5协议代理

其中127.0.0.1表示本地回环,然后在翻墙软件上查询相应的发送端口,比如我的http端口为7890,socks5端口为7891
windows系统可以直接搜索代理可以在设置中找到相应的代理端口。
linux系统可以输入

env|grep -I proxy

查看目前开启的代理服务器。
在修改之后发现出现了同样的问题,而且错误中显示的端口号依旧是1080,说明配置没有生效。
在文件中查找.gitconfig,可以得到所有的配置信息,可以看到多了下面的语句

[http "https://github.com"]
	proxy = socks5://127.0.0.1:1080

将其改为对应的端口。

3.远程库拒绝推送

报错如下

! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxx/xxx.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. If you want to integrate the remote changes,
hint: use 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
  • 解决办法
    是由于远程库中有本地库没有的东西,所以需要先拉取代码再推送
    直接用git pull origin main 拉取代码,这句命令的意思是将远程库main分支拉取到本地分支(origin)中,但是会报错There is no tracking information for the current branch.Please specify which branch you want to merge with.。因为本地库和远程库中的文件没有关联,所以需要添加说明git pull origin main --allow-unrelated-histories

文章作者: sdj
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 sdj !
  目录