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