GitGitHub版本控制团队协作

Git 常用命令与团队协作指南

Git 分布式版本控制工具的完整入门指南,涵盖安装配置、常用命令、远程操作、团队协作和常见问题解决方案

2025年8月18日
wanyj
7 min read

1. 是什么

一个分布式版本控制工具,方便团队协作 Git 官网

平台:GitHub、GitLab、Gitee 等

2. 下载安装

2.1. 下载 Git

下载 git

2.2. 安装完成后打开 Git Bash

Git Bash

2.3. 然后在命令行 Git Bash 中输入

git config --global user.name "your_name"
git config --global user.email "your_email"

3. 常见命令

简明指南,快速上手

生成公私钥:

ssh-keygen -t ed25519 -C "邮箱"

公钥放 GitHub 上:

SSH 公钥配置

  • workspace:工作区
  • staging area:暂存区 / 缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

3.1. 本地操作

命令作用
git init初始化仓库
git add <filename> / git add .添加文件到暂存区
git reset <filename>将文件取消暂存
git commit -m "commit-message"将暂存区的内容添加到本地仓库中
git branch查看当前分支
git branch <branch>创建分支
git checkout <branch>切换分支
git checkout -b <branch> / git switch -c <branch>创建并切换分支
git branch -d <branch>删除分支
git merge <branch>将分支合并到当前分支
git checkout -- <filename>使用已经提交的本地仓库中的内容替换当前内容
git log查看详细提交记录
git reflog查看简介提交记录
git tag 1.0.0 1b2e1d63ff将提交 ID 前十位是 1b2e1d63ff 创建一个 1.0.0 的标签
git reset --hard <commitId>回退到指定版本,commitId 使用 git log 查看
git diff <source_branch> <target_branch>查看分支间的差异
git diff <filename>查看单个文件的差异
git rm将文件从暂存区和工作区中删除
git mv移动 / 重命名工作区文件
git switch(2.23 版本引入)更清晰的切换分支
git restore(2.23 版本引入)恢复 / 撤销文件的更改
git clone拷贝远程仓库
git status查看仓库状态,显示有变更的文件
git diff比较文件的不同,即暂存区和工作区的差异
git range-diff比较两个提交范围之间的差异
git notes添加注释
git show显示 git 对象的详细信息
git blame <file>以列表形式查看指定文件的历史修改记录
git shortlog简洁的提交日志
git describe生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交

3.2. 远程操作

命令作用
git clone username@host:/path/to/repository拉取远程仓库
git remote add origin username@host:/path/to/repository将本地仓库连接到远程仓库
git push origin <branch>上传远程代码
git fetch origin <branch>从远程获取代码
git pull origin <branch>更新代码(fetch 并 merge)
git submodule管理包含其他 git 仓库的项目

3.3. 个性化 Git

命令作用
gitk内置图形化 git
git config color.ui true彩色 git 输出
git config format.pretty oneline显示历史记录时,每个提交的信息只显示一行
git add -i交互式添加文件到暂存区

4. 使用示例

下面是一个从零开始拷贝远程仓库、创建分支、提交到远程仓库的例子:

# 0. 初始化仓库
git init

# 1. 克隆远程仓库
git clone username@host:/path/to/repository

# 1. 添加远程仓库
git remote add origin username@host:/path/to/repository

# 2. 创建一个叫做 feature_x 的分支,并切换过去
git checkout -b feature_x

# 3. 添加文件到暂存区
git add <filename>
# or
git add *

# 4. 提交
git commit -m "代码提交信息"

# 5. 推送 feature_x 分支(可选)
git push origin feature_x

# 6. 切换回主分支
git checkout master

# 7. 将 feature_x 分支合并到当前 (master) 分支
git merge feature_x

# 8. 删除 feature_x 分支
git branch -d feature_x

# 9. 更新主分支
git pull origin master

当然,你也可以使用像 IDEA 等编译器直接图形化操作。

5. 团队合作的方式

  • Owner 创建好仓库,其他用户 fork 该仓库,在 fork 的仓库上进行开发
  • Owner 创建好仓库,给团队内成员分配权限,直接在同一个仓库内进行开发

如何创建一个 Pull Request:

  1. 创建主分支 main
  2. 创建 feature 分支
  3. 创建一个 feature 到 main 的 Pull Request

6. 常见的一些基本概念

  • 保护分支:防止用户直接向主干分支提交代码,必须通过 PR 来进行合入
  • Code Review、CI:都是在合入前的检查策略,Code Review 是人工进行检查,CI 是通过一些定制化脚本检查
  • 版本控制:一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统

7. 连接不到 GitHub 解决方案

.ssh 文件夹下创建 config 文件:

Host github.com
User xxx@qq.com(注册时的邮箱)
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

分享这篇文章

帮助更多人发现这篇内容

相关文章

自定义 Spring Boot Starter

自定义 Spring Boot Starter

从零开始学习如何开发自定义 Spring Boot Starter,掌握命名规范、自动配置机制和 SPI 加载原理

3 min read