当前位置:   article > 正文

git提交代码问题总结_git提交失败怎么办

git提交失败怎么办

1.git错误提交代码

错误的git 提交的步骤:

git init                          //初始化仓库
git add .                         //添加文件到本地暂存区  或用 git add  (文件name)
git commit -m “first commit”      //提交到本地仓库
git remote add origin  远程仓库地址 //添加远程仓库 
git push -u origin master         //把本地仓库的master分支推送到远程仓库master分支
  • 1
  • 2
  • 3
  • 4
  • 5

这样就显示这样的问题了,如下图。请添加图片描述
在向远程库推送的时候,要先进行pull同步远程仓库,让本地新建的库和远程库进行同步。
正确步骤:

git init              									      //初始化仓库
git add .            								      //添加到本地暂存区  或用 git add  (文件name)
git commit -m “first commit”                  //提交到本地仓库
git remote add origin  远程仓库地址    //添加远程仓库 
git pull origin master                            //把远程仓库master分支拉取到本地仓库master分支
git push -u origin master                     //把本地仓库的master分支推送到远程仓库master分支
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

请添加图片描述
出现这个错误的原因是git本地仓库的当前版本低于远程仓库的版本(大白话就是:你在Gitee上进行的修改没有同步到本地git仓库中)。
错误的解决方案(注意是错误的解决方案)

在终端下输入:git push -u origin master -f
  • 1

这句话执行的后果就是在远程仓库中进行的相关修改会被删除,使远程仓库回到你本地仓库未修改之前的那个版本,然后上传你基于本地仓库的修改。这如果在企业开发中就会让别的程序员的这些天的开发付之东流,一切回到解放前.

正确的解决方案

先在终端下输入:git pull origin master
  • 1

这句话是说将远程中进行的相关修改保存下来

但这时可能会报错:error: Your local changes to the following files would be overwritten by merge:

git中出现error: Your local changes to the following files would be overwritten by merge的解决方案

这句代码的意思是以本地进行的修改会被覆盖,也就是说你本地进行的修改不会生效。

一般是使用了git pull相关的命令同步远程仓库到本地引起的,而本地的修改无法上传到远程仓库,导致两者都不能兼备

解决方案

git stash  
  • 1

备份当前的工作区的内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中

git commit
git stash pop 
  • 1
  • 2

从Git栈中读取最近一次保存的内容,恢复工作区的相关内容,在终端下依次输入上述代码就可以让服务器上的代码更新到了本地,而且你本地修改的代码也没有被覆盖。

之后使用add,commit,push命令即可更新本地代码到服务器

git init              			     //初始化仓库
git add .             				 //添加到本地暂存区  或用 git add  (文件name)
git commit -m “注释”          		 //提交到本地仓库
git remote add origin  远程仓库地址    //添加远程仓库 
git pull origin master               //把远程仓库master分支拉取到本地仓库master分支
git push -u origin master            //把本地仓库的master分支推送到远程仓库master分支
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.问题记录

** git解决error: The following untracked working tree files would be overwritten by checkout**

git clean -d -fx #删除一些没有git add 的文件
    git clean 参数 

    -n 显示将要删除的文件和目录;

    -x -----删除忽略文件已经对git来说不识别的文件

    -d -----删除未被添加到git的路径中的文件

    -f -----强制运行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如何解决error: failed to push some refs to ‘https://gitee.com/

出现错误的主要原因是gitee(github)中的README.md文件不在本地代码目录中

此时我们要执行git pull --rebase origin master**命令README.md拉到本地,

任何然后执行git push origin master
  • 1
  • 2
  • 3

解决fatal: The current branch master has no upstream branch.

方法一:
git checkout dev  #切换到dev分支
git push -u origin dev #命令的意思是建立远程分支dev和关联本地dev和远程dev两步
方法二:
git push --set-upstream origin master
  • 1
  • 2
  • 3
  • 4
  • 5

解决Push rejected Push to origin/master was rejected在这里插入图片描述
idea中使用alt+F12打开控制台或在Git Bash中输入如下命令

git pull origin master --allow-unrelated-histories
  • 1

在使用git的时候,每次执行

#git add "目录"
  • 1

git add .

都会提示这样一个警告消息:
在这里插入图片描述

warning: LF will be replaced by CRLF in XXXXXXXXXXXXXX.
  • 1

原因是路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题

虽然说没有什么影响吧。

不过就是觉得太碍眼了,

按照这样设置就没有问题了:

git config core.autocrlf false
  • 1

这样设置git的配置后在执行add操作就没有问题了。

git clone 时403报错问题
解决方法:重置本机保留的git config 信息。
命令:git config --system --unset credential.helper
然后再次clone的时候,就会让你输入用户名和密码了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/558233
推荐阅读
相关标签
  

闽ICP备14008679号