Coursera 笔记

Module 02 · Git Commands and Managing GitHub ProjectsGit 命令与 GitHub 项目管理

Reading: Git Commands阅读:Git 命令

Coursera ↗

在本阅读材料中,你将总结并描述在项目工作中可能使用的其他 Git 命令,同时了解每条命令的语法。

Git 是广泛使用的版本控制系统(version control system),为参与软件开发项目的开发者和团队带来诸多好处。

下面了解一些实用的 Git 命令:

  1. git add
    • 说明:将更改添加到暂存区(staging area)。此命令暂存文件中的更改,为下一次提交做好准备。
    • 语法:
      • git add <filename.txt>(添加指定文件)
      • git add .(添加当前目录中所有新增或修改的文件)
      • git add -A(从仓库根目录起添加整个工作树中的所有更改,无论你当前位于目录结构中的哪个位置)
  2. git reset
    • 说明:重置工作目录中的更改。与 --hard HEAD 一起使用时,此命令会丢弃工作目录和暂存区中的所有更改,并将仓库重置到上次提交(HEAD)。
    • 语法:
      • git reset
      • git reset --hard HEAD
  3. git branch
    • 说明:列出、创建或删除仓库中的分支。要删除分支,先使用 git checkout 切换到其他分支,然后运行命令在本地删除分支。
    • 语法:
      • git branch(列出分支)
      • git branch <new-branch>(创建新分支)
      • git branch -d <branch-name>(删除分支)
  4. git checkout main
    • 说明:切换到“main”分支。这会将当前分支切换为“main”。
    • 语法:git checkout main
  5. git clone
    • 说明:将远程来源的仓库复制到本地计算机,在当前工作目录中创建仓库副本。
    • 语法:git clone <repository URL>
  6. git pull
    • 说明:从远程仓库获取更改并合并到本地分支。首先运行 git checkout,切换到要接收合并更改的分支。然后运行 git pull,从 origin 远程仓库的 main 分支获取更改,并将其合并到当前分支。
    • 语法:git pull origin main
  7. git push
    • 说明:将本地仓库内容上传到远程仓库。先运行 git checkout,确保当前位于要推送的分支,然后将该分支推送到远程仓库。
    • 语法:git push origin <branch-name>
  8. git version
    • 说明:显示系统当前安装的 Git 版本。
    • 语法:git version
  9. git diff
    • 说明:显示提交之间、提交与工作树之间等的更改,也可以比较分支。
    • 语法:
      • git diff(显示工作目录与上次提交之间的差异)
      • git diff HEAD~1 HEAD(显示最后一次与倒数第二次提交之间的差异)
      • git diff <branch-1> <branch-2>(比较指定分支)
  10. git revert
    • 说明:通过新增一次提交来撤销某次提交。这会创建一个新提交,撤销上次提交所做的更改。
    • 语法:git revert HEAD
  11. git config --global user.email <Your GitHub Email>
    • 说明:设置 Git 的全局邮箱配置。需要在提交之前执行此命令,以验证用户的邮箱 ID。
    • 语法:git config --global user.email <Your GitHub Email>
  12. git config --global user.name <Your GitHub Username>
    • 说明:设置 Git 的全局用户名配置。需要在提交之前执行此命令,以验证用户的用户名。
    • 语法:git config --global user.name <Your GitHub Username>
  13. git remote
    • 说明:列出与本地仓库关联的所有远程仓库名称。
    • 语法:git remote
  14. git remote -v
    • 说明:列出本地 Git 仓库连接的所有远程仓库,以及这些远程仓库对应的 URL。
    • 语法:git remote -v
  15. git remote add origin <URL>
    • 说明:使用指定 URL 添加一个名为“origin”的远程仓库。
    • 语法:git remote add origin <URL>
  16. git remote rename
    • 说明:在 git remote rename 命令后依次填写要重命名的远程仓库名称(origin)和新的名称(upstream)。这会将“origin”远程仓库重命名为“upstream”。
    • 语法:git remote rename origin upstream
  17. git remote rm <name>
    • 说明:移除具有指定名称的远程仓库。
    • 语法:git remote rm origin
  18. git format-patch
    • 说明:生成用于邮件提交的补丁(patch)。这些补丁可以用于通过邮件提交更改,或与他人分享。
    • 语法:git format-patch HEAD~3(为最近三次提交创建补丁)
  19. git request-pull
    • 说明:为邮件请求生成待处理更改的摘要,帮助向上游仓库维护者说明某个分支或分叉中所做的更改。
    • 语法:git request-pull origin/main <myfork or branch_name>
  20. git send-email
    • 说明:将一组补丁作为邮件发送。它允许你通过邮件向收件人发送多个补丁文件。请务必使用 git config 设置邮箱地址和姓名,以便邮件客户端在发送邮件时获知发件人信息。
    • 语法:git send-email *.patch
  21. git am
    • 说明:将补丁应用到仓库。它以补丁文件作为输入,并将补丁文件中指定的更改应用到仓库。
    • 语法:git am <patchfile.patch>
  22. git daemon
    • 说明:通过 Git:// 协议提供仓库访问。Git 协议是一种轻量协议,旨在实现 Git 客户端与服务器之间的高效通信。
    • 语法:git daemon --base-path=/path/to/repositories
  23. git instaweb
    • 说明:立即启动一个用于浏览仓库的网页服务器。它让你无需配置完整的网页服务器,就能通过网页界面便捷地查看仓库内容。
    • 语法:git instaweb --httpd=webrick
  24. git rerere
    • 说明:复用此前已解决的合并冲突的解决记录。请注意,要使 git rerere 生效,需要将 rerere.enabled 配置选项设为“true”(git config --global rerere.enabled true)。另请注意,git rerere 仅适用于使用相同分支和提交解决过的冲突。
    • 语法:git rerere

结论

Git 对任何开发项目都非常有用。如果你的团队使用 Git 进行版本控制,你很可能会经常使用这里的大多数命令。

Author

Anamika Agarwal

Other Contributor

Lavanya T S

Source: https://author-ide.skills.network/render?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZF9pbnN0cnVjdGlvbnNfdXJsIjoiaHR0cHM6Ly9jZi1jb3Vyc2VzLWRhdGEuczMudXMuY2xvdWQtb2JqZWN0LXN0b3JhZ2UuYXBwZG9tYWluLmNsb3VkL0lCTVNraWxsc05ldHdvcmstQ0QwMTMxRU4tQ291cnNlcmEvbGFicy9SZWFkaW5nL0dpdF9Db21tYW5kcy5tZCIsInRvb2xfdHlwZSI6Imluc3RydWN0aW9uYWwtbGFiIiwiYXRsYXNfZmlsZV9pZCI6NDM0MjMsImFkbWluIjpmYWxzZSwiaWF0IjoxNzMwMjI5ODI3fQ.2nhZIcOqR83ac1JNjE5lmWEhieSkvSWtVbXEeUeVZw4