"Git是用于版本控制的分布式系统,它能有效地管理软件开发中的不同版本,支持多人协作。本文档是一份Git的使用笔记,涵盖了基础操作和常见命令。
1. **Git的基本概念**
Git是一种分布式版本控制系统,每个开发者本地都有完整的历史版本库,可以在本地进行提交和版本切换,无需联网。它通过记录文件的变更,使得在多人协作的项目中,能够追踪和管理代码的不同版本。
2. **Git的主要用途**
- **版本管理**:Git允许用户轻松地回退到任意一个历史版本,便于追踪代码变化和错误修复。
- **协同开发**:通过分支管理和合并,Git支持多个开发者同时对同一项目进行独立的工作,然后合并各自的修改。
3. **Git的用户配置**
在使用Git前,需要配置用户名和邮箱,命令如下:
```
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
```
可以用`git config --list`查看所有配置,`git config user.name`和`git config user.email`查看具体配置项。
4. **Git常用命令**
- **查看版本历史**:`git log`显示提交历史,`git log -p`可以查看每次修改的具体内容。
- **版本回退**:`git reset --hard HEAD^`回退至上一个版本,`git reset --hard HEAD~1`同义;`git reflog`用于查看所有操作记录,可找到要回退的版本号。
- **分支管理**:`git branch`查看所有分支,高亮的表示当前分支;`git checkout 分支名`切换分支;`git branch 分支名`创建新分支。
- **合并**:`git merge 分支`将指定分支的改动合并到当前分支;`git checkout -b 分支名称`创建并切换到新分支。
- **代码推送与拉取**:`git push origin master`将本地master分支推送到远程仓库;`git pull`取回远程仓库的更新并合并。
5. **其他操作**
- `git add`将文件添加到暂存区,`git commit`将暂存区内容提交到仓库。
- `git status`查看当前工作区状态,`git diff`比较工作区和暂存区的区别,或者比较不同commit之间的差异。
- `git clone`下载远程仓库及其历史,`git fetch`下载远程仓库的变动但不合并,`git merge`用于合并远程分支。
6. **SSH密钥生成**
使用`ssh-keygen`命令生成SSH密钥对,以便安全地连接到远程Git仓库。
7. **总结**
这份笔记总结了Git的基本操作,包括初始化仓库(`git init`),添加文件(`git add`),提交(`git commit`),查看日志(`git log`),版本回退(`git reset --hard`),查看状态(`git status`),比较差异(`git diff`),分支管理(`git branch`和`git checkout`),以及与远程仓库的交互(`git push`、`git pull`和`git fetch`)等。
通过熟练掌握这些命令,开发者可以高效地利用Git进行版本控制和团队协作。"