Git命令完全指南:从基础到高级
18 浏览量
更新于2024-08-31
收藏 98KB PDF 举报
"Git命令详解及常用命令整理"
Git是一个分布式版本控制系统,被广泛应用于软件开发和协作工作中。本文将深入探讨Git的一些基本概念和常用命令,帮助你更好地理解和使用Git。
1. **Git基础概念**
- **Workspace/工作区**:你日常编辑代码的地方,也就是项目的实际目录。
- **Index/Stage/暂存区**:当你准备提交更改时,先将文件添加到暂存区,表示这些文件将会被包含在下次提交中。
- **Repository/仓库区(或本地仓库)**:保存项目的历史记录和当前状态的数据库。
- **Remote/远程仓库**:通常托管在像GitHub或GitLab这样的服务上,用于团队协作和代码备份。
2. **新建代码库**
- `git init`:在当前目录创建一个新的Git仓库。
- `git init [project-name]`:在指定目录初始化仓库。
- `git clone [url]`:从远程仓库克隆项目及其完整历史。
3. **配置**
- `git config --list`:查看当前的Git配置。
- `git config -e [--global]`:打开编辑器编辑配置文件,`--global`用于全局配置。
- `git config [--global] user.name "[name]"`:设置用户名。
- `git config [--global] user.email "[email address]"`:设置邮箱地址,这两个设置用于标识提交的作者信息。
4. **增加/删除文件**
- `git add [file1] [file2]`:将指定文件添加到暂存区。
- `git add [dir]`:将整个目录及其子目录添加到暂存区。
- `git add .`:添加当前目录下的所有文件到暂存区。
- `git add -p`:交互式地添加文件变化,允许分步提交。
- `git rm [file1] [file2]`:从工作区和暂存区移除文件。
- `git rm --cached [file]`:仅从暂存区移除文件,保留工作区的文件。
- `git mv [file-original] [file-renamed]`:重命名文件并更新暂存区。
5. **代码提交**
- `git commit -m [message]`:将暂存区中的更改提交到仓库,附带提交消息。
- `git commit [file1] [file2] -m [message]`:只提交指定文件到仓库。
- `git commit -a`:提交工作区自上次提交以来的所有更改。
- `git commit --amend`:修改最近一次提交,用于修正提交信息或添加漏掉的文件。
6. **版本浏览与回退**
- `git log`:查看提交历史。
- `git diff`:比较工作区与暂存区的差异。
- `git checkout [file]`:恢复工作区的文件到最新版本。
- `git reset [file]`:将暂存区的文件回退到工作区的状态。
- `git reset --hard HEAD~1`:回退到上一个版本,注意这将丢弃未提交的更改。
7. **分支管理**
- `git branch`:列出所有分支。
- `git branch [branch-name]`:创建新分支。
- `git checkout [branch-name]`:切换分支。
- `git merge [branch-name]`:合并指定分支到当前分支。
8. **远程操作**
- `git remote add origin [url]`:添加远程仓库。
- `git push -u origin master`:首次推送本地master分支到远程仓库的master分支。
- `git pull`:从远程仓库拉取并合并最新更改。
- `git fetch`:获取远程仓库的最新状态,不自动合并。
掌握这些Git命令,你就能在日常开发中更高效地管理代码和协同工作。记住,熟练运用Git是提升开发效率的关键,多练习、多实践才能真正熟悉这些命令。
2019-01-17 上传
2015-05-02 上传
2018-11-09 上传
2024-07-23 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38728277
- 粉丝: 3
- 资源: 864
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库