git 遇到的无法成功push的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git 遇到的无法成功push的问题相关的知识,希望对你有一定的参考价值。

参考技术A 使用git过程遇到的问题

1.第一次使用【创建远程库,然后克隆远程库至本地,添加文件,经过add、commit、push,将添加的本地库文件推至远程库】:

        1.1、在github创建新的远程库test1

        1.2、在终端使用git clone [url]将远程库test1克隆至本地库

        1.3、将使用vuecli创建的项目资源cv进test1文件夹中

    1.4、git add . 添加test1中的所有文件至缓存区;git commit -m “some message”将缓存区内容添加到仓库中,第一次提交需要配置用户名和邮箱地址。

1.5、git push origin master将本地库文件推送至远程库

成功

2.第二次使用

        2.1、使用git init在vuecli创建的项目文件夹中创建git仓库

        2.2、git add添加到缓存区 、git commit提交到本地库

        2.3、git push

                2.3.1 git remote add origin 【url】创建远程库地址别名

·            2.3.2、git push origin master  推送 失败!

        2.3.3、git push -u origin master 推送 失败!

        2.3.4、git pull origin master --allow-unrelated-histories

        2.3.5、四次才成功

        

Git push成功后,远程仓库将文件显示为已删除,且找不到push的文件

git推送远程成功后,

在远程服务器上,并未看到推送的文件,且

git status  出现如下:

# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#       deleted:    1.txt
#       deleted:    2.txt

  如何才能看到推送的文件?    

1、输入:git log

commit 8fb40da4dee26b4dbaa424eb5c60ee9d40c3ad30
Author: an <12345678@163.com>
Date:   Mon Jun 7 21:27:00 2021 +0800

    第一次提交1.txt 2.txt

2、输入:git reset --hard 8fb40da4dee26b4dbaa424eb5c60ee9d40c3ad30

3、输入:ls         (即可看到推送上来的文件) 

 

      Git push成功后,远程仓库将文件显示为已删除,且找不到push的文件,原因

      如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时,

如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 即在远程仓库的目录下对应的文件还是之前的内容,

必须得使用git reset --hard 回退到此时HAED知道的位置才能看到push后的内容。
      办法

     如果服务器仓库在master分支上,且在本地master分支刚好向服务器master分支上push了。就使用git reset --hard 版本号(前6位或完整版本号都行)

 

参考

Git使用基础---git init 与git init --bare的区别

 

以上是关于git 遇到的无法成功push的问题的主要内容,如果未能解决你的问题,请参考以下文章

git可以add,pull, 不可以push的问题解决

git丨Push rejected: Push to origin/master was rejected

atom遇到的问题及解决方法

git合并分支成功,但是push失败(remote: GitLab: You are not allowed to push code to protected branches on this pr

IEDA-Git的应用

git撤销commit