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丨Push rejected: Push to origin/master was rejected
git合并分支成功,但是push失败(remote: GitLab: You are not allowed to push code to protected branches on this pr