Git命令完全指南:从基础到高级
149 浏览量
更新于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
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器