首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

本地 Java 項目推送至 GitHub 完整流程:解決非快進拒絕與無關歷史合併

     編輯:Java 綜合教學

標準推送流程

# 1. 初始化本地倉庫
git init
git add .
git commit -m "Initial commit"

# 2. 關聯遠端
git remote add origin https://github.com/username/repo.git

# 3. 推送
git push -u origin master

常見錯誤 1:非快進拒絕

! [rejected] master -> master (non-fast-forward)

原因:遠端已有文件(如 README、LICENSE),本地無此歷史,Git 拒絕覆蓋。

解決:

# 拉取遠端歷史(允許無關歷史合併)
git pull --allow-unrelated-histories origin master

# 解決衝突後提交
git add .
git commit -m "Merge remote changes"

# 再次推送
git push -u origin master

常見錯誤 2:拒絕合併無關歷史

fatal: refusing to merge unrelated histories

原因:Git 2.9+ 默認禁止無關歷史合併,需顯式允許。

解決:同上,加 --allow-unrelated-histories 參數。

最佳實踐建議

  1. GitHub 建倉時不勾選 Initialize with README,保持空倉庫
  2. 本地先 git init、提交、再關聯遠端
  3. 若遠端已有文件,先 pull 再 push,並加 --allow-unrelated-histories
  4. 日常開發:git pull --rebase 保持歷史整潔

圖解關鍵步驟

非快進拒絕錯誤 無關歷史合併錯誤

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved