RETURN_TO_GRID
GIT2025-11-014 MIN READ

git首次推送


🧭 一、初始化与配置阶段

  1. 初始化本地仓库

    text
    git init
    

    ➤ 在本地创建一个新的 Git 仓库。

  2. 配置用户信息

    text
    git config --global user.name "你的GitHub用户名"
    git config --global user.email "你的GitHub邮箱"
    
  3. 添加远程仓库

    text
    git remote add origin https://github.com/CY1211NET/obsidian.git
    

    ⚠️ 若提示 remote origin already exists,说明远程地址已绑定,用:

    text
    git remote set-url origin https://github.com/CY1211NET/obsidian.git
    

    更新地址。


💾 二、本地提交阶段

  1. 查看未跟踪文件
    Git 提示:

    text
    nothing added to commit but untracked files present
    

    表示文件还未被追踪。

  2. 添加到暂存区并提交

    text
    git add .
    git commit -m "首次推送"
    

☁️ 三、推送到 GitHub 阶段

首次推送:

text
git push -u origin main

出现错误:

text
! [rejected] main -> main (fetch first)

说明远程仓库已有内容(如默认的 README.md),
本地需要先同步。


🔄 四、解决远程冲突与同步问题

1️⃣ 先拉取远程更新

text
git pull --rebase origin main

rebase 方式保持提交历史线性。


2️⃣ 若出现冲突(如 README.md)

文件中会出现冲突标记:

text
<<<<<<< HEAD
# 本地版本
=======
# 远程版本
>>>>>>> origin/main

解决办法:

  • 手动编辑文件,合并内容;

  • 删除冲突符号;

  • 保存后执行:

    text
    git add README.md
    git rebase --continue
    

3️⃣ 再次推送

text
git push origin main

若仍提示:

text
non-fast-forward

说明远程有新的提交,重新执行:

text
git pull --rebase origin main
git push origin main

💣 五、强制推送(仅在确定远程可覆盖时使用)

text
git push origin main --force

此操作会以本地为准覆盖远程


🧩 六、命令逻辑总结表

DATA_TABLE
操作目标命令说明
初始化仓库git init创建本地仓库
添加远程地址git remote add origin <url>绑定 GitHub 仓库
修改远程地址git remote set-url origin <url>替换远程仓库
添加文件git add .添加所有文件
提交代码git commit -m "msg"提交到本地
拉取远程内容git pull --rebase origin main合并远程更新
解决冲突git add . && git rebase --continue手动解决冲突后继续
推送代码git push origin main上传到 GitHub
强制覆盖推送git push origin main --force用本地内容覆盖远程

✅ 七、经验与最佳实践

  1. 首次推送前先拉取:避免与远程默认文件冲突。

  2. 使用 --rebase 而非 --merge:保持清晰提交历史。

  3. 遇冲突先解决、再推送:不要直接强推除非确定远程不重要。

  4. 推送后及时检查 GitHub 仓库页面:确认同步无误。

  5. 保持 README.md、.gitignore 同步更新,减少后续合并问题。


END_OF_FILESLUG: GIT/git首次推送
# COMMENTS