git push
[ref]( https://blog.csdn.net/weixin_43806049/article/details/124963415#:~:text=Git上传文件代码到 GitHub (超详细) 1 1. 新建一个空文件夹,用来上传文件 空文件夹放在那里都可以 2 ,git%20branch%20-M%20main%20%EF%BC%8C%E4%B8%8A%E4%BC%A0%E5%88%B0%20main%20%E5%88%86%E6%94%AF%20%E6%9B%B4%E5%A4%9A%E9%A1%B9%E7%9B%AE "ref")
commit节点回退
git reset --soft HEAD~1 回退一个commit节点并保存编辑器内容
git reset --hard HEAD~1 撤销第一次提交并彻底删除相关更改
如果此时commit是initial commit,会报错
fatal: ambiguous argument 'HEAD~1': unknown revision or path not in the working tree.

解决
git update-ref -d HEAD
git rm --cached -r .
git pull
error: The following untracked working tree files would be overwritten by merge

原因
本地仓库有未被跟踪的文件,而这些文件和远程仓库中的更新有冲突,导致无法完成代码的更新。
解决方法
git add *
git stash
git pull
git add *将当前目录下的所有修改过的文件添加到 Git 的暂存区(Staging Area),相当于git add .命令,但是会忽略被忽略的文件,例如 .gitignore 文件中指定的文件。这个命令适用于添加新文件和修改现有文件。git stash命令用于将当前工作目录的修改(包括暂存区和未暂存的文件)保存到一个栈中,以便你在后面可以恢复这些修改。这个命令可以用于在切换分支或者临时切换到其他任务时保存当前进度。
使用git stash命令后,Git 会将修改和暂存的文件保存到一个栈中,并将当前工作目录重置为上一次提交的状态。这样你就可以在不影响当前分支的情况下,切换到其他分支或者任务。
需要注意的是,git stash 命令只是将当前工作目录的修改保存到栈中,并不会提交这些修改到 Git 仓库中。如果想要提交这些修改,需要使用 git commit 命令。同时,在恢复保存的进度后,需要使用git stash drop命令将栈中保存的进度删除

浙公网安备 33010602011771号