github命令行文件同步实操

一、确保 Git 与 GitHub 账号关联

如果你尚未配置 Git 与 GitHub 账号的关联,请先完成以下步骤:

  1. 设置 Git 用户信息

    git config --global user.name "你的名字"
    git config --global user.email "你的 GitHub 邮箱"
  2. SSH 认证(推荐)

    • 生成 SSH 密钥:
      ssh-keygen -t ed25519 -C "你的邮箱"

      按回车接受默认路径,可设置密码或留空。

    • 查看公钥并复制:
      cat ~/.ssh/id_ed25519.pub
    • 登录 GitHub,进入 Settings > SSH and GPG keys > New SSH key,粘贴公钥并保存。
    • 测试连接:
      ssh -T git@github.com
  3. HTTPS 认证(备选)

    • 生成个人访问令牌(PAT):登录 GitHub,Settings > Developer settings > Personal access tokens > Generate new token,选择 repo 权限。
    • 推送或拉取时使用 PAT 替代密码。
  4. 检查远程仓库

    • 确保本地仓库已关联 GitHub 仓库:
      git remote -v
    • 如果未关联,添加远程仓库:
      git remote add origin git@github.com:用户名/仓库名.git

      或(HTTPS):

      git remote add origin https://github.com/用户名/仓库名.git

二、与 GitHub 仓库交互的 Git 命令

以下是你在终端中与 GitHub 仓库交互的完整流程,涵盖拉取、修改、提交和推送:

1. 拉取 GitHub 仓库内容

  • 克隆仓库(首次获取): 如果你还没有本地仓库,克隆 GitHub 仓库:

    git clone git@github.com:用户名/仓库名.git

    或(HTTPS):

    git clone https://github.com/用户名/仓库名.git

    克隆后,进入仓库目录:

    cd 仓库名
  • 拉取更新(已有本地仓库): 如果本地已有仓库,进入目录:

    cd 仓库路径

    拉取远程仓库的最新内容:

    git pull origin main
    • 替换 main 为你的默认分支(如 master)。
    • 如果有冲突,Git 会提示,需手动解决(见下方“处理冲突”)。

2. 修改本地文件并同步到 GitHub

假设你在本地用 VS Code 或其他编辑器修改了文件,以下是同步步骤:

  1. 检查修改状态

    git status

    显示已修改(Modified)、新增(Untracked)或删除(Deleted)的文件。

  2. 添加修改到暂存区

    • 添加特定文件:
      git add 文件名

      例如:git add index.html

    • 添加所有修改:
      git add .
  3. 提交修改到本地仓库

    git commit -m "描述你的修改内容"

    例如:git commit -m "更新了主页样式"

  4. 推送修改到 GitHub

    git push origin main
    • 确保分支名(main)与远程仓库一致。
    • 如果是首次推送新分支,需设置上游分支:
      git push --set-upstream origin main

3. 处理冲突

  • 如果 git pullgit push 遇到冲突(例如本地和远程修改了同一文件):
    1. 运行 git pull 时,Git 会标记冲突文件,打开文件,找到 <<<<<<< HEAD>>>>>>> 标记。
    2. 手动编辑保留所需内容,删除冲突标记。
    3. 添加并提交:
      git add .
      git commit -m "解决冲突"
      git push origin main

4. 验证同步

  • 推送后,访问 GitHub 仓库页面,确认文件是否更新。

三、典型工作流示例

假设你在本地修改了文件,完整流程如下:

cd 仓库路径
git pull origin main          # 拉取最新内容
# 修改文件(用 VS Code 或其他编辑器)
git status                    # 查看修改
git add .                     # 添加所有修改
git commit -m "更新内容"      # 提交
git push origin main          # 推送到 GitHub

四、常见问题与解决方案

  1. 推送失败(401/403 错误)

    • SSH:确保公钥已添加到 GitHub,运行 ssh -T git@github.com 测试。
    • HTTPS:使用 PAT 登录,检查是否过期。
    • 确认远程 URL 正确:git remote -v
  2. 仓库未关联

    • 检查:git remote -v
    • 添加:git remote add origin git@github.com:用户名/仓库名.git
  3. 分支不匹配

    • 确认远程分支名:git branch -r
    • 切换到正确分支:git checkout main
  4. 文件未跟踪

    • 新文件需用 git add 文件名 添加。

五、关键知识点供深入学习

  1. Git 核心概念

    • 工作区:本地文件。
    • 暂存区git add 后的修改。
    • 版本库git commit 后的提交历史。
    • 远程仓库:GitHub 上的仓库。
  2. 常用命令

    • git clone:克隆仓库。
    • git pull:拉取并合并更新。
    • git add:添加修改到暂存区。
    • git commit:提交到本地仓库。
    • git push:推送至远程仓库。
    • git status:查看状态。
    • git log:查看提交历史。
  3. 分支管理

    • 创建分支:git branch 新分支名
    • 切换分支:git checkout 新分支名
    • 推送分支:git push origin 新分支名
  4. 学习资源

    • Git 官网:git-scm.com 的 Pro Git 书籍。
    • GitHub 文档:docs.github.com,学习 SSH 配置和仓库管理。
    • 中文教程:菜鸟教程(runoob.com)或廖雪峰的 Git 教程。

六、快速上手建议

  1. 实践:克隆一个测试仓库,修改文件,运行 git addcommitpush
  2. 定期拉取:修改前运行 git pull,避免冲突。
  3. 备份:重要修改前确保提交或备份。
  4. 用 SSH:配置 SSH 避免频繁输入凭据。