Git 使用手册:掌握常用 git 命令
需积分: 5 18 浏览量
更新于2024-11-22
收藏 3KB ZIP 举报
资源摘要信息: "GitNote:git 使用笔记"
Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。它最初由Linus Torvalds创建,用于管理Linux内核开发,现在已经成为互联网上最流行的版本控制工具。本文档将对Git的常用操作进行归纳整理,旨在为读者提供一份简明扼要的使用指南。
1. Git安装与配置
- 在不同的操作系统中安装Git:Windows、macOS和Linux系统都可以安装Git。安装方法通常包括下载安装包、通过包管理器安装或者使用图形界面安装程序。
- 配置Git:配置用户名、电子邮件地址,这些信息会出现在提交(commit)信息中。
```
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
```
- 配置文本编辑器:Git使用系统默认文本编辑器记录提交信息,可以通过命令指定其他编辑器。
2. 初始化与克隆仓库
- 初始化新仓库:在本地目录中初始化一个新的Git仓库,使用`git init`命令。
- 克隆已有仓库:使用`git clone [仓库地址]`从远程仓库克隆项目到本地。
3. 常用Git命令
- `git add`:添加文件到暂存区,准备下次提交。
```
git add <文件名或目录>
```
- `git commit`:将暂存区的内容提交到仓库的历史记录中。
```
git commit -m "提交信息"
```
- `git status`:查看当前工作目录和暂存区的状态。
- `git push`:将本地分支的更新推送到远程仓库。
```
git push [远程仓库名] [分支名]
```
- `git pull`:从远程仓库拉取最新的更改,并与本地分支合并。
```
git pull [远程仓库名] [分支名]
```
- `git branch`:列出所有本地分支和远程分支。
- `git checkout`:切换分支或恢复工作区文件。
```
git checkout -b [新分支名] // 创建并切换到新分支
git checkout [分支名] // 切换到现有分支
```
- `git merge`:合并分支。
```
git merge [分支名] // 将指定分支合并到当前分支
```
- `git diff`:查看未提交的差异。
- `git log`:查看提交历史。
- `git reset`:重置当前HEAD到指定状态。
4. 分支管理
- 创建分支:`git branch [分支名]`
- 删除分支:`git branch -d [分支名]`
- 强制删除分支:`git branch -D [分支名]`
5. 远程仓库操作
- 添加远程仓库:`git remote add [远程仓库名] [仓库地址]`
- 查看远程仓库:`git remote -v`
- 移除远程仓库:`git remote remove [远程仓库名]`
6. 解决冲突
当两个分支有对同一文件的不同修改时,合并时会出现冲突。Git会标记出冲突的文件,需要手动打开文件,编辑后解决冲突,然后重新提交。
7. 高级功能
- 标签(tag):给特定的提交打上标签,用于发布或其他需要标记的点。
```
git tag [标签名]
```
- 子模块(submodule):管理其他仓库作为当前项目的子目录。
```
git submodule add [子模块仓库地址]
```
- 钩子(hook):在特定动作发生时触发执行的脚本,例如提交前检查代码风格等。
- 变基(rebase):重新整理提交历史,使得分支历史线性化,便于管理。
```
git rebase [分支名]
```
8. Git图形界面工具
- 对于不熟悉命令行的用户,可以使用Git的图形界面工具,如GitKraken、SourceTree等。
以上是Git的基本使用方法和常用命令。Git的强大之处在于其灵活性和强大的分支管理能力,它可以帮助开发者高效地协作和管理代码。通过本笔记的整理,希望能帮助读者快速上手Git,提升开发效率。
2021-06-05 上传
2021-02-04 上传
2021-07-11 上传
2019-05-06 上传
2020-05-05 上传
2024-09-23 上传
2020-12-12 上传
2020-03-06 上传
张A裕
- 粉丝: 23
- 资源: 4759
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析