Git 基础:终极指南

2025-06-10

Git 基础:终极指南

如何创建新的存储库

创建新目录,打开它并执行

git init
Enter fullscreen mode Exit fullscreen mode

创建一个新的 git 存储库。

如何检出存储库

通过运行命令创建本地存储库的工作副本

git clone /path/to/repository
Enter fullscreen mode Exit fullscreen mode

如果你想创建远程存储库的工作副本

git clone username@host:/path/to/repository
Enter fullscreen mode Exit fullscreen mode

工作流程

您的本地存储库由 git 维护的三个“树”组成。第一个是您的工作目录,它保存实际文件。第二个是索引,它充当暂存区,最后是HEAD,指向您所做的最后一次提交。

添加并提交

您可以使用以下方式提出更改(将其添加到索引中)

git add <filename>
Enter fullscreen mode Exit fullscreen mode

或者

git add *
Enter fullscreen mode Exit fullscreen mode

这是基本 git 工作流程的第一步。要实际提交这些更改,请使用

git commit -m "Commit message"
Enter fullscreen mode Exit fullscreen mode

现在该文件已提交至HEAD,但尚未提交至远程存储库。

推动变革

你的更改现在位于本地工作副本的HEAD中。要将这些更改发送到远程仓库,请执行

git push origin master
Enter fullscreen mode Exit fullscreen mode

将 master 更改为您想要推送更改的任何分支。

如果您尚未克隆现有存储库并希望将存储库连接到远程服务器,则需要使用以下命令添加它

git remote add origin <server>
Enter fullscreen mode Exit fullscreen mode

现在您可以将更改推送到选定的远程服务器

分枝

分支用于开发彼此独立的功能。创建代码库时,主分支是“默认”分支。您可以使用其他分支进行开发,并在完成后将它们合并回主分支。

创建一个名为“branch_x”的新分支并使用

git checkout -b branch_x
Enter fullscreen mode Exit fullscreen mode

切换回主服务器

git checkout master
Enter fullscreen mode Exit fullscreen mode

并再次删除分支

git branch -d branch_x
Enter fullscreen mode Exit fullscreen mode

除非您将分支推送到远程存储库,否则其他人无法使用该分支

git push origin <branch>
Enter fullscreen mode Exit fullscreen mode

更新和合并

要将本地存储库更新为最新提交,请执行

git pull
Enter fullscreen mode Exit fullscreen mode

在您的工作目录中获取并合并远程更改。
要将另一个分支合并到您的活动分支(例如 master),请使用

git merge <branch>
Enter fullscreen mode Exit fullscreen mode

在这两种情况下,git 都会尝试自动合并更改。遗憾的是,这并非总是可行,并且会导致冲突。您需要通过编辑 git 显示的文件来手动合并这些冲突。更改后,您需要将它们标记为已合并

git add <filename>
Enter fullscreen mode Exit fullscreen mode

在合并更改之前,您还可以使用以下方式预览它们

git diff <source_branch> <target_branch>
Enter fullscreen mode Exit fullscreen mode

标记

建议为软件版本创建标签。这是一个已知概念,在 SVN 中也存在。您可以通过执行以下命令创建一个名为 0.0.1 的新标签:

git tag 0.0.1 1b2e1d63ff
Enter fullscreen mode Exit fullscreen mode

1b2e1d63ff 代表您想要在标签中引用的提交 ID 的前 10 个字符。您可以通过查看以下代码获取提交 ID……

日志

以其最简单的形式,您可以使用...研究存储库历史记录。

git log
Enter fullscreen mode Exit fullscreen mode

你可以添加很多参数来让日志看起来像你想要的那样。要只查看特定作者的提交:

git log --author=bob
Enter fullscreen mode Exit fullscreen mode

要查看非常压缩的日志,其中每个提交占一行:

git log --pretty=oneline
Enter fullscreen mode Exit fullscreen mode

或者您可能想查看所有分支的 ASCII 艺术树,并用标签和分支的名称装饰:

git log --graph --oneline --decorate --all
Enter fullscreen mode Exit fullscreen mode

仅查看哪些文件已更改:

git log --name-status
Enter fullscreen mode Exit fullscreen mode

这些只是您可以使用的部分参数。更多信息,请参阅

git log --help
Enter fullscreen mode Exit fullscreen mode

替换本地更改

万一你做错了什么(这肯定不会发生 ;),你可以使用命令替换本地更改

git checkout -- <filename>
Enter fullscreen mode Exit fullscreen mode

这会将工作树中的更改替换为HEAD中的最新内容。已添加到索引的更改以及新文件都将保留。

如果你想删除所有本地更改和提交,请从服务器获取最新历史记录,并将本地主分支指向它,如下所示

git fetch origin
git reset --hard origin/master
Enter fullscreen mode Exit fullscreen mode

其他有用的命令

内置 git GUI

gitk
Enter fullscreen mode Exit fullscreen mode

使用彩色的 git 输出

git config color.ui true
Enter fullscreen mode Exit fullscreen mode

每次提交仅显示一行日志

git config format.pretty oneline
Enter fullscreen mode Exit fullscreen mode

使用交互式添加

git add -i
Enter fullscreen mode Exit fullscreen mode

更多“最终指南”请参阅索引页

鏂囩珷鏉ユ簮锛�https://dev.to/zigrazor/git-basics-the-final-guide-1ne4
PREV
响应式网页设计简介
NEXT
使用 vanilla JS 进行分析:页面浏览量