git push origin master报错的解决方法 & 常见git命令(待更新)

参考Git常用命令

文章目录

  • git push origin master报错的解决方法 & 常见git命令(待更新)
    • 1、git push origin master报错的解决方法
      • Step1:
      • Step2:
      • step3:
    • 2、常见git命令
      • 1)git status
      • 2)git add [file/dir/.]
      • 3)git rm -r --cached
      • 4)git branch,git checkout,git merge
      • 5)git 设置网络代理
      • 6)`Github/Gitee`通过`fork`复制/合并/同步项目
      • 7)git lfs管理大文件

开始之前,先介绍一下 将本地文件夹添加到git仓库的一些常见命令
参考 将本地文件夹添加到git仓库

1.git init;
2.git add .
3.git commit -m "初始化"
4.git remote add origin https://github.com/githubusername/demo.git
5.git pull origin master
6.git push -u origin master

Note:个人喜欢在git控制台上提交文件,不习惯在Pycharm或者IDEA里提交(虽然可视化效果不错,但不利于git命令的巩固学习)

1、git push origin master报错的解决方法

一开始我以为是我身份验证失败,看了网上的解决方法,添加了SSH密钥,但是问题还是没有解决。

git遇到的问题之“Please make sure you have the correct access rights and the repository exists.”

Step1:

参考git 解决 fatal: ‘origin’ does not appear to be a git repository

后来发现主要原因不在身份验证上,而是找不到远程仓库的位置remote一下就可以了

git remote add origin git@github.com:xxse/xx.git

如果remote时出现fatal: remote origin already exists.

解决方法是删除原有的origin

git remote -v
git remote rm origin

参考fatal: remote origin already exists. (远程来源已经存在 解决办法)

Step2:

但是remote之后,再push仍然存在问题,原因是

参考! [rejected] master -> master (fetch first)

github允许你本地仓库有的东西,远程仓库里没有,但不允许远程仓库有的东西,你本地仓库没有

所以在提交之前需要先拷贝远程仓库,命令如下

git pull --rebase origin master

注意用的是--rebase命令。

step3:

git push origin master

可以添加shell脚本,这样就不用每次输入那么多命令了

if [ ! -n "$1" ];  #-n str,字符串不为null,长度大于零
thenmsg="msg"
elsemsg="$1"
figit add .
git commit -m '$msg'
git remote add origin https://gitee.com/wangxiaoxi-1/KnowledgeDepository.git
git pull --rebase origin master
git push origin master

参考win 下 git 提交代码脚本
更多shell脚本语法请见这里 linux中的sh脚本语法

其他报错解决方案汇总:

  • Git遇到Unable to create ‘E:/xxx/.git/index.lock’: File exists.的解决办法

2、常见git命令

参考

  • Git常用命令
  • Git如何合并分支到主干及合并主干到分支

1)git status

git status:查看当前分支状态

2)git add [file/dir/.]

  • git add [file/dir/.]:提交文件,文件夹或提交全部修改过的文件。

3)git rm -r --cached

参考去掉已经托管在git上的文件:.gitignore配置规则 及其 git rm -r --cached
如果刚才使用git add .把一些大文件一起add到本地仓库了,这时可以通过git rm -r --cached已经托管在git上的文件,其中-r是表示递归删除--cached表示删除暂存区和版本库的文件,但保留了工作区的文件。比如:

git rm -r --cached D:/code/voice_wake_up/speech2word_vosk/vosk-model-small-cn-0.22

4)git branch,git checkout,git merge

  • git branch team1:创建team1分支
  • git checkout team1:切换到team1分支
  • git checkout master; git merge team1:切换到master分支,并将team合并到master分支上。

5)git 设置网络代理

参考git设置代理

HTTP协议代理设置--global 表示全局,不需要可以不加

git config --global https.proxy ***

比如我开启网络代理后,端口为10810windows系统可以通过 控制面板 >> Internet选项 >> 连接 >>局域网设置 进行查看)
例子:

# socks
git config --global http.proxy 'socks5://127.0.0.1:10810'
git config --global https.proxy 'socks5://127.0.0.1:10810'
# http
git config --global http.proxy http://127.0.0.1:10810
git config --global https.proxy https://127.0.0.1:10810# 只对github.com使用代理,其他仓库不走代理
git config --global http.https://github.com.proxy socks5://127.0.0.1:10810
git config --global https.https://github.com.proxy socks5://127.0.0.1:10810
# 取消github代理
git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy

6)Github/Gitee通过fork复制/合并/同步项目

参考GitHub/Gitee的Fork的作用(Github/Gitee fork 和 git clone的区别)

举个例子:假设你是浙大的学生,你想在“浙江大学课程攻略共享计划”项目中(作为开源社区中)的一个贡献者,你可以这么做:

  • 1) 在Github界面上 Fork 这个项目至你的个人GitHub仓库
  • 2) Clone你的 GitHub 仓库代码到本地;
  • 3)为了避免感染其他文件或文件夹,在本地的仓库下新建个人项目文件夹,命名格式为“课程名”,将你的上课笔记或课后作业答案放置在该文件夹内。
  • 4)将你本地仓库中新增的文件push到你的Github仓库中;
  • 4)接着在你的Github仓库界面上,通过 Pull Request 将你的内容推送至原仓库
  • 5)等待原仓库管理员Review 通过后,将你的代码合并到原仓库的主分支上

fork的时候可能会存在一个问题:

在你fork项目之后,原仓库又更新了,GitHub/Gitee不会自动帮你把原仓库的更新同步到你fork后的仓库,可能会导致在提交Pull request时,你的版本和原仓库的版本不一致进而报错

参考在GitHub上fork项目后,如何与原仓库同步?图解全过程中的方法,发现现在的Github并没有switching the base的功能(Gitee也没有),为了保证fork仓库和原仓库同步,可以

  • 1)先将原仓库作为一个分支拷贝(fetch)到本地(记作 upstream/master
  • 2)然后切换(checkout)到之前fork的本地master分支(记作origin/master
  • 3)接着将当前分支和upstream/master合并(merge)之后,将新增文件push到之前fork的仓库中,即可完成fork仓库和原仓库的更新。

在本地仓库中使用如下命令(参考gitlab或github下fork后如何同步源的新更新内容?,删除git remote):

  • 1)给fork配置远程库, 先查看远程状态:git remote -v
  • 2)确定一个将被同步给 fork 远程的上游仓库
    git remote add upstream git@github.com:QSCTech/zju-icicles.git
    

    如果upstream变量名已被使用过,则使用git remote remove upstream删除该变量名绑定的远程地址

  • 3)开始同步fork
    • 从远程仓库中提取更新的数据:git fetch upstream
    • 切换到本地主分支:git checkout master,此时可能会报错,直接无视即可
      Already on 'master'
      Your branch is up to date with 'origin/master'.
      
    • upstream/master 分支合并到本地 master 上,这样就完成了同步,并且不会丢掉本地修改的内容。
      git merge upstream/master
      
    • 如果想更新到 GitHubfork 上,直接push就好了
      git push origin master
      

7)git lfs管理大文件

参考

  • Git LFS管理大文件
  • git lfs原理和使用

git push origin master报错的解决方法 常见git命令(待更新)相关推荐

  1. git push origin master报错,解决方法

    今天,用git把本地代码推送到远程服务器上时出现错误: whl@whl-desktop:/work2/recvdsrc$ git push origin master klha@klha.net's ...

  2. Git - git push origin master 报错的解决方法

    错误提示如下: [root@linux1 php]# git push -u origin master To git@github.com:kangvcar/Results-Systems--PHP ...

  3. git push origin master报错

    git push origin master报错error: src refspec xxx does not match any / error: failed to push some refs ...

  4. IDEA输入命令git push origin master报错: ! [remote rejected] master - master (hook declined)

    IDEA输入命令git push origin master报错: ! [remote rejected] master -> master (hook declined) error: fai ...

  5. git push origin master报错error: src refspec master does not match any || git commit报错nothing to commi

    git需要提交的文件夹内无内容修改导致 建议删除git初始化仓库生成的 .git 文件,然后将文件夹内容转移至其他路径,再次重新初始化提交. 或者, 将要提交的文件内容进行一定修改.

  6. 【码云】git push origin mash 报错:remote: error: GH007: Your push would publish a private email address.

    近期使用码云提交代码到git仓库,发现网上搜索的都是github的解决办法(可以解决的地址:https://blog.csdn.net/qq_24862137/article/details/9440 ...

  7. git push origin master提交报错解决办法

    使用git push origin master将本地提交推送到远程仓库的时候 遇到了这样的一个报错 wangting@DESKTOP-O81VEVO MINGW64 ~/Desktop/wisdom ...

  8. 使用git bash的git push origin main或git push origin master提交错误

    使用git bash的git push origin main或git push origin master提交错误 首先我安装的是最新版本的git 下载Git 官方地址为:https://git-s ...

  9. git push origin master上传资源总是报密码错误,但是密码确实是正确的应该怎么办?

    问题解决: 对Git的版本进行更新,之后再重新启动输入命令即可解决: ①输入命令:git update-git-for-windows,对git进行更新. ②更新git的操作如下: ③成功上传资源界面 ...

最新文章

  1. go语言的goconvey
  2. AtCoder AGC019E Shuffle and Swap (DP、FFT、多项式求逆、多项式快速幂)
  3. 杭州水利水电学院计算机多少学,杭州的一所很容易考上的公办本科大学——浙江水利水电学院...
  4. WinForm窗体拖动代码
  5. 克鲁斯卡尔算法(公交站问题)
  6. 380免费云存储_三款功能强大的云盘软件,完全替代百度云与腾讯云
  7. 验证授权【msdn】
  8. JSLint报错翻译
  9. CLR VIA C#(一)
  10. QT5.15 安装教程
  11. excel如何从字符串中截取指定字符(LEFT、RIGHR、MID三大函数)
  12. 微信调用手机浏览器打开下载链接
  13. 实变函数与泛函分析课本pdf_免费推荐几本实变函数和泛函分析的书
  14. 京东商城在售食品不合格被通报 律师:平台应承担责任
  15. 9月12日截止!2022年湖北省高新技术企业认定时间、程序、材料和相关要求
  16. python图片转素描风
  17. 【Vue】qq浏览器打开空白
  18. iPhone4/4s 5.1.1版本越狱后无法连接iTunes,出现0xE8000012错误的解决方法
  19. 36.DAC工作原理与配置
  20. 干谷净重694.27公斤 滦南国稻种芯-517功能性苦瓜稻北方旱作

热门文章

  1. quartz定时任务补录处理
  2. 联想笔记本 Lenovo V310关闭Fn键功能
  3. C/C++ 中的 #pragma once 作用是什么?
  4. avi怎么转换成视频?
  5. python数据导出excel_Python-将数据表中数据导出到excel
  6. 校内练习 华山论剑 [最短路]
  7. C#中WebService里的回车符\r丢失问题
  8. android的contentResolver,contentProvider简介(附带个获取手机联系人及头像实例)
  9. Mac苹果电脑如何一键清理磁盘内存空间?
  10. 输出最高分数的学生姓名