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

2023-11-08

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

参考Git常用命令


开始之前,先介绍一下 将本地文件夹添加到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,长度大于零
then
    msg="msg"
else
    msg="$1"
fi
 
git 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脚本语法

其他报错解决方案汇总:

2、常见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管理大文件

参考

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • Git checkout 分支从其他分支留下目录树

    我有一个branch2 其源是branch1 并重命名了源自branch1 的目录 当签出branch1时 重命名的目录仍然存在 但没有标记为未暂存的修改 重命名的目录当然不会作为branch1 上的提交出现 为什么会出现这种情况 上述目录
  • 在github原子编辑器中隐藏隐藏(点)文件

    我对 Github Atom 编辑器非常陌生 它总是显示隐藏文件 例如 git sass在侧窗格中 如何在atom编辑器的侧窗格中隐藏隐藏文件 点文件 编辑 gt 首选项 gt 包 在 已安装的软件包 下面的字段中 输入 树视图 该软件包有
  • 无法获取 https://gerrit.googlesource.com/git-repo/clone.bundle

    我尝试按照以下说明创建一个 git 存储库 source android com source downloading html installing repo 但是当我尝试在工作目录中初始化存储库时 使用 Ubuntu 出现以下错误 wo
  • jenkins构建完成后如何将更改推送到github?

    我有一个 jenkins 作业 它从 github 克隆存储库 然后运行 powershell 脚本来增加文件中的版本号 我现在正在尝试将该更新文件发布回 github 上的原始存储库 因此当开发人员提取更改时 他会获得最新的版本号 我尝试
  • 如何设置PS1使git和conda都可以在bash中显示?

    我的 bashrc show a short way shortwd num dirs 3 pwd symbol newPWD PWD HOME if echo n newPWD awk F print NF gt num dirs the
  • 为什么我的 git 预提交钩子不修剪行尾的空白?

    我在 Mac Mojave 上 我在 git templates hooks pre commit 创建了一个文件 我想删除我正在提交的文件行尾的空格 我希望这种情况在全球范围内发生在我的所有项目中 A git hook script to
  • Git 注释详细信息

    我读了this http git scm com 2010 08 25 notes html and this https github com blog 707 git notes display但仍然认为它们晦涩难懂 目前为止了解到 创
  • Docker 错误:无法找到包 git

    我正在使用图像nginx这是基于dockerfile ubuntu 连接到 docker 容器的 shell docker exec it
  • git rebase 开发分支

    抱歉 只是另一个 变基 问题 但我对此感到困惑 我有时会将开发分支上的提交推送到远程 原始 现在 关于 rebase 总是提到的一件事是 如果您推送了更改 则永远不要 rebase 这意味着 我永远无法重新调整我的开发分支 只能合并它 在功
  • Markdown/Github:作为列表子项的代码块的语法突出显示

    在Github MD中 如果我们想在列表的子级时启用代码块 我们需要用8个空格来表示它 但是如何让该代码块具有语法高亮功能呢 以下代码无法按预期工作 1 foo python print bar 2 bar python print bar
  • 如何为特定存储库配置 AWS CodeCommit 配置文件

    我有以下问题 作为我工作的一部分 我处理多个 AWS 账户 每个账户都有一个单独的 AWS CodeCommit 存储库和特定于账户的 IAM 用户 这会导致不同的用户 ID 我想找到一种方法来配置我的 ssh 以根据存储库访问不同的帐户
  • Jenkins Git 参数插件无法获取标签

    詹金斯版本 1 593 Git 参数插件 0 4 0 GIT 客户端插件 1 16 1 我使用私有 git 存储库 可以通过 ssh 访问 我的构建是参数化的 git参数是TAG TO BUILD 要构建的分支是refs tags TAG
  • Azure Pipelines 状态徽章未显示在 Markdown 中

    我已经为我的 github 存储库之一设置了 azure 管道 除了构建状态徽章之外 一切都工作正常 它没有正确显示 似乎无法加载图像 目前正在显示 Edit markdown 文件中使用的代码由 azure devops 自动生成 Bui
  • 有没有一种简单的方法可以知道哪些文件将在下一个“git pull”中更新?

    我想知道如果我执行 git pull 哪些文件将被更新 以及希望发生的更改 is git stash git fetch git diff origin master git stash apply 答案 See here http ker
  • 通过 Git/SVN 将前缀 ? 添加到代码中

    怎么加前缀 v VersionNumber使用 Git SVN 高效地访问存储库中的每个文件 我发现 SO 使用这种做法为其存储库中的每个特定文件提供版本号 他们使用SVN 我想知道如何使用 Git 做同样的事情 举几个例子 1 2 在你的
  • 使用 GIT_PS1_SHOWCOLORHINTS 自定义 __git_ps1 的颜色

    我尝试过的 我已更新我的提示以包含分支名称 git ps1 另外 我设置GIT PS1 SHOWCOLORHINTS 问题 提示正确显示 然而 树枝的颜色始终是绿色的 我预计肮脏的树枝会是红色的 文档指出 颜色基于 git status s
  • 使用 Git 和 Eclipse 管理 Android 项目

    我相信我有一个非常常见的问题 它会影响具有多个应用程序版本的开发人员 在我的例子中 我有两个 付费版本和免费版本 为了管理这两个版本 我使用具有 2 个不同分支的同一个 git 项目 免费和付费 然而 我的源代码包名称彼此不同 如预期 并且
  • Capistrano 和 GitHub Private Repo – 权限被拒绝(公钥)

    我继承了一个托管在 Linode 上的 Rails 项目 之前的开发人员使用 BitBucket 存储库以及 Capistrano 进行部署 我已经在 GitHub 上设置了一个私人存储库 并且正在尝试让 Capistrano 配方发挥作用
  • git log over 使用 --follow 时限制输出? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 在以下服务
  • GitHub API - 语言列表

    GitHub API 中是否有一个端点可以为我提供 GitHub 上所有语言的列表 我正在寻找与 github com 网站上 趋势 部分中的语言下拉列表类似的结果 不是直接来自 GitHub API The OP敏捷王牌 https st

随机推荐

  • X.509数字证书内容结构

    更多区块链技术与应用分类 区块链应用 区块链开发 以太坊 Fabric BCOS 密码技术 共识算法 比特币 其他链 通证经济 传统金融场景 去中心化金融 防伪溯源 数据共享 可信存证 X 509证书 数字证书是现代信息安全的核心技术 无论
  • Calendar类常用方法

    Calendar常量 field 的作用 Calendar cal Calendar getInstance cal get Calendar DATE 当天 1 31 cal get Calendar DAY OF MONTH 当天 1
  • JTest的使用

    jtest 项目中用到了JTest 一款商业化java白盒测试工具 开个头慢慢补充 简介 jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具 它通过自 动实现java的单元测试和代码标准校验 来提高代码的可靠性
  • elasticsearch集群文件及路径设置

    es集群文件路径 1 数据目录 日志目录以及插件目录 默认情况下es会将plugin log data config file都放在es的安装目录中 这有一个问题 就是在进行es升级的时候 可能会导致这些目录被覆盖掉使我们集群中的文件或数据
  • Postman应用——下载注册和登录

    文章目录 下载安装 注册登录 注册账号 登录账号 下载安装 Postman下载 https www postman com 访问链接后 进入首页 根据自己的操作系统下载对应的版本 找到下载到的目录直接双击 exe文件 会默认安装在C盘 安装
  • LeetCode(力扣)题目中二叉树的如何生成?根据给定顺序列表生成二叉树(python)

    在刷 leetcode 二叉树相关的题目时 经常有这样给定的例子 例如 检查平衡性 实现一个函数 检查二叉树是否平衡 在这个问题中 平衡树的定义如下 任意一个节点 其两棵子树的高度差不超过 1 示例 1 给定二叉树 3 9 20 null
  • Mybatis-plus 分页排序 错乱-丢失

    今天生产环境出行了一个分页排序错乱的问题 当时有点懵 用的mybatis plus的分页插件实现的 往常也用但是没有出现这个 分页排序 错乱 丢失问题 说实话当时有点懵 经过排查分析 得出了结果 Mybatis plus 分页排序 错乱 丢
  • C语言变参数函数详解

    文章目录 一 前言 二 printf函数源码 三 C语言函数调用堆栈过程 调用约定 压栈过程 那么再来看看其他情况 四 C语言实现可变参数详解 五 需要关注的一些问题 一 前言 在C语言中 我们不管是使用标准库函数还是使用自定义的函数 我们
  • 帧同步(LockStep)该如何反外挂

    在中国的游戏环境下 反挂已经成为了游戏开发的重中之重 甚至能决定一款游戏的生死 吃鸡就是一个典型的案例 目前参与了了一款动作射击的MOBA类游戏的开发 同步方案上选择了帧同步技术 LockStep而非snapshots以下同 那么就有很多人
  • LUA实现麻将胡牌判定

    用LUA实现麻将胡牌的一个思路 hand table 41 42 43 22 21 43 22 11 11 11 42 33 33 33 手牌 card count table 1 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8
  • 【若依】线程池,分页工具,定时任务,aop日志,全局异常处理功能实现

    若依 线程池 分页工具 定时任务 aop日志 全局异常处理功能实现 1 分页工具 使用方法 在调用sql语句前 调用 PageHelper startPage 方法就行了 若依包装过了 调用startPage 方法 1 pagehelper
  • 用c++编写的植物大战僵尸

    源码如下 include
  • 显卡3080设备CentOS 7.9 环境安装最新anconda、tensorflow-gpu 、cudatoolkit、cudnn、 python

    目标 使用3080显卡搭建环境 系统安装 显卡驱动安装 安装anconda 安装 python 安装 cuda 安装 cudnn 安装 tensorflow 一 系统安装 详见历史文档 二 显卡驱动安装 详见历史 三 整理自己需要安装的环境
  • 期货不变的本质是什么意思(期货不变的本质是什么意思呀)

    期货的本质是什么 本质是一个风险转移工具 通过把风险转移给愿意投机获利 亏损的人 产业方得以获得确定的盈利预期 这是期货的核心价值 狭义理论认为期货市场是 零和 负和 游戏 但如果把眼光放宽 把实体产业加进来 可以发现期货是市场环境里一项必
  • web python识花_TensorFlow迁移学习识花实战案例

    TensorFlow 迁移学习识花实战案例 本文主要介绍如何使用迁移学习训练图片识别花朵的模型 即识别出图片上是何种花朵 本文档中涉及的演示代码和数据集来源于网络 你可以在这里下载到 TRANSFER LEARNING zip 本模块将通过
  • cocos2d-x客户端与Java服务器的通信(一)

    o 貌似自己已经有一段时间没有写博客了 其实主要原因还是觉得自己水平有限 加上上班实在是太忙 实在抽不出时间来写博客 言归正传 大家都知道 在网络游戏开发中 网络通信一直是个比较大的难题 一个服务器可能要同时处理几千上万甚至上百万的用户数据
  • 14款开源或免费的GIS软件

    1 QGIS 原称Quantum GIS QGIS 原称Quantum GIS 是一个跨平台的桌面GIS软件 它提供数据的显示 编辑和分析功能 可以自动生成地图 并且能够处理地理空间数据 最后形成你期待的地图数据 它于2004年成为地理空间
  • Idea使用工具Statistic进行代码数量,注释的统计

    Statistic是idea上面的一个用于统计代码数量 注释数量的工具 1 安装 重启idea后 工具就能直接使用 如过没有结果的话 刷新下 扩展设置
  • 中缀表达式转后缀表达式

    一 什么是中缀表达式 后缀表达式 二 中缀表达式转后缀表达式 例题 中缀表达式 10 20 2 3 2 8 转换为对应的后缀为 后缀表达式 10 20 2 3 2 8 解题思路 1 观察两表达式 后缀明显没有 这两个符号 其次与中缀相比数字
  • git push origin master报错的解决方法 & 常见git命令(待更新)

    git push origin master报错的解决方法 常见git命令 待更新 参考Git常用命令 文章目录 git push origin master报错的解决方法 常见git命令 待更新 1 git push origin mas