把电脑里的改动推到 GitHub:Git 五步入门

把电脑里的改动推到 GitHub:Git 五步入门

你在电脑里改完 README,回到 GitHub 页面,却发现那句话完全没出现过。文件明明改了,为什么远程仓库还是原来的样子?

0:00 / 8:21
这期节目接着上一期的浏览器练习,把同一条 GitHub 入门路径搬到电脑上:克隆仓库,修改 README,查看状态,暂存文件,提交本地记录,再推送到 GitHub,最后用一次网页改动理解拉取。

本期要完成的练习

请使用自己的 github-beginner-practice 仓库,或者换成你自己的练习仓库。第一次练习不建议直接操作别人的开源项目。
  1. 在 GitHub 仓库主页点击 Code,复制 HTTPS 地址。
  2. 在终端进入存放项目的文件夹,执行:
   git clone YOUR-REPOSITORY-URL
   cd github-beginner-practice
   git status
git clone 会把远程仓库复制到电脑。GitHub 官方文档说明,克隆后可以继续向远程仓库推送改动,也可以拉取别人的改动。1
  1. 打开 README.md,在末尾加一句学习记录,然后保存。
  2. 查看改动并选择要提交的文件:
   git status
   git add README.md
   git status
  1. 创建本地提交:
   git commit -m "add local learning note"
   git status
commit 只把记录写进本地仓库,还没有把记录送到 GitHub。
  1. 确认远程地址,再推送当前分支:
   git remote -v
   git push origin main
第一次推送时,也可以使用 git push -u origin main 建立本地分支与远程分支的跟踪关系。GitHub 官方的命令行示例使用 git remote add origin 关联远程,并用 git push -u origin main 推送。2
如果你的当前分支不是 main,先用 git status 确认分支名,再把命令里的 main 换成实际分支名。

如何检查结果

  • 本地运行 git status,确认没有忘记提交的 README 改动。
  • 回到 GitHub 仓库首页,确认 README 出现了新内容。
  • 打开 Commits,确认出现 add local learning note
  • 在 GitHub 网页上再给 README 加一行并保存。回到电脑,确认本地没有未提交改动后执行:
  git pull origin main
git pull 会先获取远程提交,再把远程变化整合到当前分支。3

常见误区

  • 把保存当成上传:编辑器里的保存只改变电脑上的文件,commitpush 还没有发生。
  • 忘记 git add:没有把文件放进暂存区,commit 就不会包含那次修改。
  • 在错误目录运行命令:先确认终端位于克隆出来的项目文件夹,再执行 Git 命令。
  • commit 当成 GitHub 上的记录commit 先写入本地历史,push 才把它发到远程仓库。远程仓库通常叫 origin,它只是远程地址的本地名称。4
  • 带着未提交改动直接 pull:先提交或暂存本地工作,再拉取远程变化。若两边改了同一位置,Git 可能要求你处理冲突。
  • 把令牌写进地址或文件:HTTPS 认证请使用你已经配置好的令牌或凭据管理器,SSH 认证请先完成密钥配置。不要把凭据提交到仓库。
下一步练习:从当前仓库创建一条分支,把本地 README 改动推到这条分支,再用 Pull Request 请求合并到 main

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content