趋近智
这项动手练习侧重于远程仓库的实际应用。它将指导您完成克隆、推送、抓取和拉取的过程,演示与远程仓库交互的典型工作流程。这将帮助您对这些基本协作命令建立深入的理解。
开始之前,您需要一个托管远程仓库的地方。GitHub、GitLab 和 Bitbucket 等服务提供免费的公共和私有仓库。
git-practice-remote。.gitignore 文件。我们希望首先将本地工作推送到一个完全空白的远程仓库。https://github.com/YourUsername/git-practice-remote.git 或 https://gitlab.com/YourUsername/git-practice-remote.git。克隆时您会用到这个 URL。克隆会在您的计算机上创建远程仓库的本地副本。它还会自动将原始仓库 URL 配置为名为 origin 的远程连接。
打开您的终端或命令提示符。切换到您想存储项目的目录(例如您的桌面或 projects 文件夹)。然后,运行 git clone 命令,将 <repository_url> 替换为您复制的 HTTPS URL:
git clone <repository_url>
例如:
git clone https://github.com/YourUsername/git-practice-remote.git
Git 将下载该(目前为空的)仓库。您可能会看到类似“warning: You appear to have cloned an empty repository.”的警告。这是预期的结果。
现在,进入新创建的目录:
cd git-practice-remote
让我们验证远程连接是否已自动设置。使用 git remote -v 查看已配置的远程连接:
git remote -v
您应该会看到类似这样的输出,显示 origin 远程连接指向您的仓库 URL,用于抓取和推送:
origin https://github.com/YourUsername/git-practice-remote.git (fetch)
origin https://github.com/YourUsername/git-practice-remote.git (push)
现在,让我们向本地仓库添加一些内容。使用文本编辑器或命令行创建一个简单的 README.md 文件:
# 在 Linux/macOS 上
echo "# Git Practice Remote Repository" > README.md
# 在 Windows 上 (命令提示符)
echo # Git Practice Remote Repository > README.md
# 在 Windows 上 (PowerShell)
"# Git Practice Remote Repository" | Out-File -Encoding UTF8 README.md
现在,按照标准的 Git 工作流程来暂存和提交这个新文件:
README.md 是否未被跟踪。
git status
README.md 添加到暂存区。
git add README.md
README.md 是否已暂存。
git status
git commit -m "Add initial README file"
您可以使用 git log --oneline 查看您的本地提交:
git log --oneline
您将看到您的提交及其唯一标识符被列出。
您的提交目前只存在于本地机器上。要共享或备份它,您需要将其推送到 origin 远程连接。
命令是 git push <remote_name> <branch_name>。在本例中,远程连接是 origin,默认分支通常是 main(在较旧的设置中可能是 master,Git 通常会告诉您)。
git push origin main
main) 正在跟踪远程分支 (origin/main)。现在,刷新 GitHub/GitLab/Bitbucket 上的仓库页面。您应该会看到您的 README.md 文件和提交消息“Add initial README file”。您的本地更改现在已反映在远程服务器上!
假设协作者(或您,从另一台计算机操作)向远程仓库推送了一个更改。我们可以使用您的托管平台的网页界面轻松模拟这一点。
README.md 文件。远程仓库 (origin) 现在包含一个您的本地仓库尚未拥有的提交。
让我们将远程上进行的更改拉取到本地仓库。
git fetch首先,我们使用 git fetch。此命令会从远程下载新数据,但不会将其集成到您的本地工作文件。它会更新您的远程跟踪分支(例如 origin/main)。
git fetch origin
您将看到输出表明对象已接收。现在,检查状态:
git status
Git 可能会告诉您:“Your branch is behind 'origin/main' by 1 commit, and can be fast-forwarded.”这意味着您的本地 main 分支落后于 git fetch 刚刚更新的 origin/main 分支。您的工作目录文件 (README.md) 仍未更改。
您可以使用 git log 查看本地和远程分支的最新提交:
git log --oneline main origin/main
这会显示在线提交已存在于 origin/main 上,但尚未存在于您的本地 main 上。
git pull要更新您的本地 main 分支以及您的工作目录文件,您通常使用 git pull。此命令实际上是运行 git fetch,然后是 git merge(或 git rebase,取决于配置,但合并是默认设置)。
git pull origin main
由于您的本地 main 分支没有与远程历史记录发生分歧(您没有进行任何新的本地提交),这很可能导致“快进”合并。Git 只是将 main 分支指针向前移动以匹配 origin/main。
现在,检查您的本地 README.md 文件的内容:
# 在 Linux/macOS 上
cat README.md
# 在 Windows 上 (命令提示符)
type README.md
# 在 Windows 上 (PowerShell)
Get-Content README.md
您应该会看到“This line was added online.”这一行。
再次检查您的日志:
git log --oneline
您现在将在本地历史记录中看到提交“Update README from web”。您的本地仓库已与远程完全同步。
您已成功完成了远程工作流的步骤:
git clone)。git add, git commit)。git push origin main)。git fetch origin)。git pull origin main)。这种拉取更改、进行本地提交和推送工作的循环是使用 Git 进行备份和协作的核心。请继续练习这些命令,因为它们是使用共享 Git 仓库的基础。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造