You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

为何GitHub仅显示最新提交?新手提交代码至GitHub的操作问询

问题解答:GitHub仅显示最新提交的原因与解决办法

嘿,我明白你碰到的困扰了——每次执行完那些Git命令后,GitHub上只看得见最新的提交记录,这其实和你用到的git push -f origin master命令有直接关系!

为什么会只显示最新提交?

-f--force的缩写,也就是强制推送。这个命令会直接覆盖远程仓库(GitHub上的仓库)的提交历史,把远程的所有旧提交都替换成你本地当前的最新提交。所以每次强制推送后,远程仓库里之前的提交记录就被抹掉了,自然只能看到最新的那一次。

怎么解决这个问题?

给你几个实用的建议,帮你保留完整的提交历史:

  • 停止使用强制推送(除非绝对必要):正常的Git协作流程应该是先拉取远程仓库的最新内容,再推送自己的提交。下次提交前可以先执行:
    git pull origin master
    
    如果有代码冲突,先解决冲突再提交,之后用普通的推送命令:
    git push origin master
    
    这样远程仓库就会保留所有的提交历史啦。
  • 恢复之前的提交记录(如果需要):如果你想找回被覆盖的旧提交,可以查看本地的Git引用日志,执行:
    git reflog
    
    找到你想要恢复的提交哈希值,然后通过git reset --hard <提交哈希>回到那个版本,再重新推送(不过这个操作要谨慎,要是之后有新的提交或者和他人协作的话,可能会带来新的问题)。
  • 养成检查提交历史的习惯:每次提交后可以用git log查看本地的提交记录,确认历史完整后再推送到GitHub,这样能提前发现问题。另外,添加README文件的时候,记得用git add README.md然后执行git commit -m "添加README说明"再推送,这样这个操作也会被记录到提交历史里。

内容的提问来源于stack exchange,提问作者SMD

火山引擎 最新活动