0Pricing
Frontend Academy · 课时

远程仓库:push、pull 与 clone

将本地仓库连接到 GitHub,向远程仓库推送提交,从团队成员处拉取更改,并克隆现有仓库。

远程仓库:push、pull 与 clone 是 CoddyKit 上的免费 Frontend Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Frontend Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Frontend Academy 课程共包含 4 节课。

什么是远程仓库?

远程仓库是托管在互联网上的仓库版本(GitHub、GitLab、Bitbucket)。您可以通过将提交推送到远程仓库,并从远程仓库拉取队友的提交来协作。

git clone — 复制远程仓库

git clone url会创建远程仓库的本地副本,其中包括全部历史记录和分支。远程仓库会自动添加为origin。

git clone https://github.com/user/repo.git
git clone git@github.com:user/repo.git  # SSH

git remote — 管理远程仓库

git remote -v会列出已配置的远程仓库。git remote add name url会添加远程仓库。按照惯例,主要远程仓库命名为origin。

git remote -v
# origin  git@github.com:user/repo.git (fetch)
# origin  git@github.com:user/repo.git (push)

git remote add origin https://github.com/user/repo.git

git push — 向远程仓库发送提交

git push origin branchname会将本地提交上传到远程分支。新分支第一次推送时,需要使用-u设置上游跟踪。

git push origin main
git push -u origin feature/auth  # set upstream and push
git push                          # push to tracked remote (after -u)

git pull — 从远程仓库接收提交

git pull会从跟踪的远程分支获取更改,并将其合并到当前分支。它等同于git fetch + git merge。

git pull            # fetch and merge from tracked upstream
git pull origin main # explicit remote and branch

git fetch — 下载但不合并

git fetch会下载所有远程更改,但不会修改您的工作目录。您可以先用它查看队友提交了哪些内容,再决定如何整合。

git fetch origin
git log origin/main --oneline  # inspect remote commits
git merge origin/main           # integrate when ready

设置 SSH 密钥

GitHub 要求进行身份验证。HTTPS 使用用户名 + 令牌。SSH 密钥更加方便:生成密钥对,将公钥添加到 GitHub,然后即可自动完成身份验证。

ssh-keygen -t ed25519 -C "your@email.com"
# Public key:
cat ~/.ssh/id_ed25519.pub
# Copy this into GitHub Settings → SSH Keys

上游与 origin

origin是您的派生仓库。upstream是原始仓库。参与开源项目时,流程是:派生 → 克隆 → 添加上游远程仓库 → 从上游拉取,以保持最新。

git remote add upstream https://github.com/original/repo.git
git fetch upstream
git merge upstream/main

强制推送 — 请极其谨慎地使用

git push --force会覆盖远程分支的历史记录。绝不要强制推送到主分支或共享分支,因为这会为所有人改写历史记录。在 PR 被评审之前,对个人且已变基的功能分支使用它通常是安全的。

git pull --rebase

git pull --rebase会将您的本地提交应用到已获取的提交之上,而不是创建合并提交。这样会产生更整洁的线性历史记录。许多团队会将其设置为默认的拉取策略。

git pull --rebase origin main

# Set as default:
git config --global pull.rebase true

.git/config

仓库的本地 git 配置位于.git/config中。其中保存远程仓库地址和跟踪分支。~/.gitconfig用于保存您的姓名和电子邮件等全局设置。

# ~/.gitconfig
[user]
  name = Alice Developer
  email = alice@example.com
[core]
  editor = code --wait

快速检查

git push -u origin feature/auth会做什么?

回顾:远程仓库

git clone 会将远程仓库复制到本地。git remote 用于管理远程仓库地址。git push 用于发送提交。git pull 用于获取并合并。git fetch 用于下载但不合并。请使用 SSH 进行安全身份验证。origin 是您的远程仓库;在开源项目中,upstream 是原始仓库。只在个人且尚未评审的分支上使用强制推送。

常见问题解答

「远程仓库:push、pull 与 clone」课时是免费的吗?

是的 — 「远程仓库:push、pull 与 clone」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Frontend Academy 课程的其余内容,请升级到 CoddyKit PRO。 Frontend Academy 课程共包含 4 节课。

「远程仓库:push、pull 与 clone」这节课中我会学到什么?

将本地仓库连接到 GitHub,向远程仓库推送提交,从团队成员处拉取更改,并克隆现有仓库。 你通过在浏览器中直接运行的动手代码来练习 Frontend Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Frontend Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Frontend Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「远程仓库:push、pull 与 clone」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Frontend Academy 课中编写并运行代码吗?

能。每节 Frontend Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. git init、add、commit 与 status
  2. 分支:branch、checkout 与 merge
  3. 远程仓库:push、pull 与 clone
  4. GitHub 拉取请求工作流
← 返回 Frontend Academy