Git 学习笔记

一、Git 简介

Git 是一个开源的分布式版本控制系统,用于有效、高速地处理从小到大的项目版本管理。它允许团队协作开发项目,同时跟踪文件的变更历史。

二、安装 Git

在 Windows 上,可以从Git 官网下载安装包并安装。在 macOS 和 Linux 上,可以通过包管理器(如 Homebrew 或 apt)安装。

1
2
3
4
5
# macOS
brew install git

# Ubuntu
sudo apt install git

安装完成后,可以通过以下命令检查 Git 版本:

1
git --version

三、配置 Git

首次使用 Git 时,需要配置用户信息,这些信息会出现在每次提交中。

1
2
3
4
5
# 配置全局用户名
git config --global user.name "Your Name"

# 配置全局用户邮箱
git config --global user.email "your_email@example.com"

四、克隆仓库

克隆仓库是将远程仓库的代码复制到本地的过程。

1
2
# 克隆远程仓库到本地
git clone <repository_url>

例如:

1
git clone https://github.com/user/repo.git

克隆完成后,进入项目目录:

1
cd repo

五、查看分支

分支是开发中的独立线程,用于隔离开发工作。

1
2
# 查看所有分支
git branch

六、切换分支

切换分支可以让你在不同的开发线程之间切换。

1
2
# 切换到指定分支
git checkout <branch_name>

如果分支不存在,可以使用以下命令创建并切换:

1
git checkout -b <new_branch_name>

七、提交修改

提交是将本地的更改保存到版本历史中。

• 查看更改状态:

1
git status

• 添加更改到暂存区:

1
2
3
4
5
# 添加所有更改
git add .

# 添加指定文件
git add <file_name>

• 提交更改:

1
git commit -m "Commit message"

提交信息应简洁明了,描述本次更改的内容。

八、推送更改

将本地更改推送到远程仓库。

1
git push origin <branch_name>

如果当前分支已跟踪远程分支,可以直接使用:

1
git push

九、合并分支

合并分支是将一个分支的更改合并到另一个分支。

• 切换到目标分支:

1
git checkout <target_branch>

• 合并分支:

1
git merge <source_branch>

如果合并过程中出现冲突,Git 会提示你手动解决冲突。解决冲突后,需要再次提交更改。

十、解决冲突

当合并分支时,如果不同分支对同一文件的同一部分进行了修改,就会出现冲突。

• 手动解决冲突:打开冲突文件,找到冲突标记(<<<<<<<=======>>>>>>>),选择保留的内容,删除冲突标记。

• 提交解决后的更改:

1
2
git add <conflicted_file>
git commit

十一、查看日志

查看提交历史可以帮助你了解项目的变更过程。

1
git log

可以通过以下选项简化日志输出:

1
2
3
4
5
# 单行显示日志
git log --oneline

# 显示分支图
git log --graph --oneline

十二、撤销更改

如果需要撤销本地更改,可以使用以下命令:

• 撤销暂存区更改:

1
git reset <file_name>

• 撤销工作区更改:

1
git checkout -- <file_name>

• 撤销最后一次提交:

1
2
3
git reset HEAD~ --soft
# 或者硬重置(会丢失所有未提交的更改)
git reset HEAD~ --hard

十三、远程仓库操作

远程仓库是存储代码的服务器,通常托管在 GitHub、GitLab 等平台上。

• 查看远程仓库:

1
git remote -v

• 添加远程仓库:

1
git remote add origin <repository_url>

• 更新远程仓库信息:

1
git remote update

• 拉取远程分支:

1
git pull origin <branch_name>

十四、常用命令总结

• 克隆仓库:git clone <repository_url>

• 切换分支:git checkout <branch_name>

• 提交更改:git add .git commit -m "message"

• 推送更改:git push origin <branch_name>

• 合并分支:git merge <source_branch>

• 查看日志:git log --oneline

• 解决冲突:手动编辑文件,提交更改

• 撤销更改:git resetgit checkout --

• 更新远程仓库:git pull origin <branch_name>