Git 使用教程
Git 使用教程
Git 是一个分布式版本控制系统,用于跟踪项目文件的变化,并协调多个开发者之间的协作。本文将详细介绍如何使用 Git 进行基本的版本控制操作。
1. 安装 Git
首先需要在计算机上安装 Git。你可以访问 Git 官方网站 下载并安装适合你操作系统的版本。
Windows
- 访问官网下载页面,选择适用于 Windows 的安装包。
- 运行安装程序,并按照提示完成安装。
macOS
- 可以通过 Homebrew 安装:
brew install git
Linux
- 使用包管理器安装:
- Debian/Ubuntu:
sudo apt-get update sudo apt-get install git
- Fedora:
sudo dnf install git
- Debian/Ubuntu:
2. 配置 Git
首次使用 Git 前,需要设置用户名和邮箱:
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"
可以通过以下命令查看当前配置信息:
git config --list
3. 创建仓库
初始化新仓库
在本地创建一个新的 Git 仓库:
mkdir myproject
cd myproject
git init
这会在 myproject
目录下创建一个 .git
文件夹,用于存储版本控制信息。
克隆现有仓库
从远程服务器克隆现有的仓库到本地:
git clone https://github.com/user/repo.git
4. 基本操作
添加文件
将新文件添加到 Git 的暂存区(staging area):
git add filename
也可以一次性添加所有修改的文件:
git add .
提交更改
将暂存区的内容提交到仓库中,并添加提交信息:
git commit -m "Commit message"
查看状态
查看当前工作目录的状态,包括哪些文件被修改、新增或删除:
git status
日志记录
查看提交历史记录:
git log
5. 分支操作
创建分支
创建并切换到一个新的分支:
git branch new_branch_name
git checkout new_branch_name
也可以一步完成创建和切换:
git checkout -b new_branch_name
切换分支
在不同分支之间进行切换:
git checkout existing_branch_name
合并分支
将一个分支的更改合并到当前分支中:
git merge other_branch_name
6. 远程仓库操作
添加远程仓库
添加一个新的远程仓库链接(通常称为 origin
):
git remote add origin https://github.com/user/repo.git
查看远程仓库信息
查看当前配置的远程仓库信息:
git remote -v
拉取更新
从远程仓库拉取最新的更改到本地:
git pull origin main # 或者 git pull origin master
推送更改
将本地更改推送到远程仓库:
git push origin main # 或者 git push origin master
7. 解决冲突
如果在合并分支或拉取更新时出现冲突,Git 会提示你解决这些冲突。
-
查看冲突文件:
git status
-
打开冲突文件,手动编辑以解决冲突。通常冲突部分会被标记如下:
<<<<<<< HEAD ... your changes ... ======= ... other branch's changes ... >>>>>>> other_branch_name
-
解决完冲突后,将修改后的文件添加到暂存区:
git add filename
-
提交更改:
git commit -m "Resolved conflicts"
8. 标签操作
创建标签
为当前提交创建一个标签:
git tag v1.0
也可以添加说明信息:
git tag -a v1.0 -m "Version 1.0 released"
查看所有标签
查看项目中的所有标签:
git tag
9. 高级操作
回退更改
将工作目录回退到某个特定的提交:
git checkout commit_hash
或者使用 reset
命令(注意这会改变历史记录):
git reset --hard commit_hash
撤销暂存文件
撤销已经添加到暂存区但尚未提交的更改:
git reset HEAD filename
查看差异
查看工作目录与暂存区之间的差异:
git diff
查看工作目录与最后一次提交之间的差异:
git diff HEAD