如何正确创建 Git 仓库

GitGitBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

本全面教程为开发者提供了有效创建和管理 Git 仓库的基本技术。无论你是初学者还是有经验的程序员,了解正确的 Git 仓库设置方法对于简化版本控制和协作编码工作流程至关重要。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/GitHubIntegrationToolsGroup(["GitHub Integration Tools"]) git(("Git")) -.-> git/SetupandConfigGroup(["Setup and Config"]) git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git(("Git")) -.-> git/CollaborationandSharingGroup(["Collaboration and Sharing"]) git/SetupandConfigGroup -.-> git/config("Set Configurations") git/SetupandConfigGroup -.-> git/init("Initialize Repo") git/SetupandConfigGroup -.-> git/clone("Clone Repo") git/BranchManagementGroup -.-> git/branch("Handle Branches") git/CollaborationandSharingGroup -.-> git/pull("Update & Merge") git/CollaborationandSharingGroup -.-> git/push("Update Remote") git/CollaborationandSharingGroup -.-> git/remote("Manage Remotes") git/GitHubIntegrationToolsGroup -.-> git/repo("Manage Repos") subgraph Lab Skills git/config -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/init -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/clone -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/branch -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/pull -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/push -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/remote -.-> lab-434549{{"如何正确创建 Git 仓库"}} git/repo -.-> lab-434549{{"如何正确创建 Git 仓库"}} end

Git 仓库基础

什么是 Git 仓库?

Git 仓库是一个数字目录或存储空间,用于存储项目的文件及其完整的修订历史记录。与传统的版本控制系统不同,Git 在每个开发者的本地机器上提供整个项目历史的完整副本。

Git 仓库的关键概念

仓库类型

仓库类型 描述 特点
本地仓库 存储在你的个人计算机上 私有,包含完整项目历史记录
远程仓库 托管在服务器上 共享,支持协作访问
裸仓库(Bare Repository) 用于集中式共享 没有工作目录

仓库状态

stateDiagram-v2 [*] --> 工作目录 工作目录 --> 暂存区: git add 暂存区 --> 已提交: git commit 已提交 --> [*]

核心仓库组件

  1. 工作目录:你当前正在处理的实际文件
  2. 暂存区:准备提交文件的区域
  3. Git 目录(仓库):Git 存储元数据和对象数据库的地方

创建仓库

初始化新仓库

## 创建新的项目目录
mkdir my-project
cd my-project

## 初始化新的 Git 仓库
git init

基本仓库配置

## 设置全局用户名和电子邮件
git config --global user.name "你的名字"
git config --global user.email "[email protected]"

仓库最佳实践

  • 始终创建一个 .gitignore 文件
  • 使用有意义的提交消息
  • 频繁提交
  • 保持仓库专注且模块化

LabEx 提示

在学习 Git 仓库时,LabEx 提供交互式环境,帮助你在实际场景中练习这些概念。

本地仓库设置

前提条件

系统要求

  • Ubuntu 22.04 LTS
  • 安装了 Git
  • 具备基本的终端知识

安装 Git

## 更新软件包列表
sudo apt update

## 安装 Git
sudo apt install git -y

## 验证安装
git --version

配置用户身份

全局配置

## 设置全局用户名
git config --global user.name "你的名字"

## 设置全局电子邮件
git config --global user.email "[email protected]"

本地仓库配置级别

配置级别 范围 优先级
系统 所有用户 最低
全局 当前用户 中等
本地 当前仓库 最高

创建本地仓库

方法 1:初始化新仓库

## 创建项目目录
mkdir my-project
cd my-project

## 初始化 Git 仓库
git init

方法 2:克隆现有仓库

## 从远程源克隆仓库
git clone <仓库-url>

仓库工作流程

graph TD A[创建/克隆仓库] --> B[添加文件] B --> C[暂存更改] C --> D[提交更改] D --> E[推送到远程]

基本的本地仓库命令

## 检查仓库状态
git status

## 将文件添加到暂存区
git add <文件名>
git add.

## 提交更改
git commit -m "提交消息"

## 查看提交历史
git log

忽略文件

创建.gitignore 文件

## 创建.gitignore
touch.gitignore

## 示例内容
*.log
node_modules/
build/

LabEx 建议

LabEx 提供交互式 Git 环境,以便在实际场景中练习本地仓库管理。

最佳实践

  • 频繁提交
  • 编写描述性的提交消息
  • 为不同功能使用分支
  • 定期拉取和合并更改

远程仓库管理

理解远程仓库

远程仓库类型

仓库类型 平台 特点
GitHub 微软 最受欢迎
GitLab GitLab 公司 可自行托管
Bitbucket 亚特兰蒂斯公司 专注于企业用户

连接到远程仓库

添加远程仓库

## 添加远程仓库
git remote add origin <仓库-url>

## 查看当前远程仓库
git remote -v

远程工作流程

graph TD A[本地仓库] -->|推送| B[远程仓库] B -->|拉取| A B -->|克隆| C[另一个本地仓库]

基本的远程命令

推送更改

## 推送到主分支
git push origin main

## 推送所有分支
git push --all origin

拉取更改

## 获取远程更改
git fetch origin

## 拉取并合并
git pull origin main

认证方法

SSH 密钥设置

## 生成 SSH 密钥
ssh-keygen -t rsa -b 4096 -C "[email protected]"

## 复制 SSH 公钥
cat ~/.ssh/id_rsa.pub

个人访问令牌

## 在仓库平台设置中生成令牌
## 使用令牌进行 HTTPS 认证

分支管理

## 创建新分支
git branch 功能分支

## 切换到分支
git checkout 功能分支

## 将分支推送到远程
git push -u origin 功能分支

协作工作流程

拉取请求流程

graph LR A[创建分支] --> B[进行更改] B --> C[推送到远程] C --> D[打开拉取请求] D --> E[代码审查] E --> F[合并到主分支]

解决冲突

## 获取最新更改
git fetch origin

## 合并并解决冲突
git merge origin/main

LabEx 提示

LabEx 提供全面的远程仓库管理教程和交互式环境,便于实际学习。

最佳实践

  • 推送前始终先拉取
  • 使用有意义的分支名称
  • 与团队成员沟通
  • 合并前审查代码
  • 保持仓库有序

总结

通过掌握 Git 仓库的创建和管理,开发者可以提升他们的版本控制技能,改善项目协作,并在软件开发中贯彻最佳实践。本指南涵盖了本地和远程仓库设置的基本技术,使程序员能够利用 Git 强大的版本跟踪功能。