Git命令完全指南:从基础到高级
需积分: 11 141 浏览量
更新于2024-09-11
收藏 83KB DOCX 举报
"git命令大全"
Git是分布式版本控制系统,它提供了丰富的命令来管理代码的版本。熟练掌握Git命令,能够高效地进行版本控制、协作和代码管理。以下是一些常用的Git命令及其用法:
1. **安装Git**: 首先,你需要在你的计算机上安装Git。安装过程因操作系统而异,通常可以在Git官方网站下载对应操作系统的安装包进行安装。
2. **配置用户信息**: 安装完成后,需要设置用户的姓名和邮箱,这将在提交代码时显示:
- 设置姓名: `$git config --global user.name "Yourname"`
- 设置邮箱: `$git config --global user.email "email@example.com"`
3. **创建和初始化Git仓库**:
- 创建新目录: `$mkdir project_name`
- 进入目录: `$cd project_name`
- 初始化Git仓库: `$git init`
4. **添加文件和提交**:
- 将文件添加到版本库: `$git add filename`
- 提交文件: `$git commit -m "Commit message"`
5. **版本库管理**:
- 查看仓库状态: `$git status`,显示哪些文件被修改、添加或删除
- 查看未提交文件的具体修改内容: `$git diff filename`
- 查看提交历史: `$git log`,完整日志;`$git log --pretty=oneline`,简洁日志
6. **版本回退**:
- 回退到上一个版本: `$git reset --hard HEAD^`
- 回退到更早的版本,例如上100个版本: `$git reset --hard HEAD~100`
- 回退到特定版本: 找到目标版本的commit ID,然后执行 `$git reset --hard commitID`
7. **查看文件内容**: `$cat filename`,显示文件内容
8. **工作区与暂存区**:
- 工作区是可见的目录,版本库包含隐藏的`.git`目录
- 暂存区(stage)用于临时保存改动,`$git diff HEAD --name` 可以查看工作区和暂存区的区别
9. **撤销修改**:
- 丢弃工作区的修改: `$git checkout -- filename`,还原文件到最近的版本
- 撤销暂存区的修改: `$git reset HEAD filename`,将文件移出暂存区并放回工作区
10. **删除文件**:
- 普通删除文件: `$rm filename`
- 删除版本库中的文件: `$git rm filename`,之后需提交更改: `$git commit -m ""`
- 恢复误删文件: `$git checkout -- filename`
11. **远程仓库**:
- 创建SSH key: `$ssh-keygen -t rsa -C "youremail@example.com"`,用于安全的身份验证
- 添加SSH key到GitHub或其他远程仓库平台
- 将本地仓库关联远程仓库: `$git remote add origin remote_url`
- 推送本地所有分支到远程仓库: `$git push -u origin --all`
- 推送本地指定分支到远程仓库: `$git push origin branch_name`
以上只是Git常用的一部分命令,实际上Git还提供了很多其他功能,如分支管理、合并、解决冲突等。通过不断实践和学习,你可以更加深入地掌握Git,从而提高开发效率。
2019-05-09 上传
2018-09-13 上传
2023-05-25 上传
2021-05-28 上传
2023-12-29 上传
2017-09-29 上传
satanvae
- 粉丝: 0
- 资源: 1
最新资源
- Angular程序高效加载与展示海量Excel数据技巧
- Argos客户端开发流程及Vue配置指南
- 基于源码的PHP Webshell审查工具介绍
- Mina任务部署Rpush教程与实践指南
- 密歇根大学主题新标签页壁纸与多功能扩展
- Golang编程入门:基础代码学习教程
- Aplysia吸引子分析MATLAB代码套件解读
- 程序性竞争问题解决实践指南
- lyra: Rust语言实现的特征提取POC功能
- Chrome扩展:NBA全明星新标签壁纸
- 探索通用Lisp用户空间文件系统clufs_0.7
- dheap: Haxe实现的高效D-ary堆算法
- 利用BladeRF实现简易VNA频率响应分析工具
- 深度解析Amazon SQS在C#中的应用实践
- 正义联盟计划管理系统:udemy-heroes-demo-09
- JavaScript语法jsonpointer替代实现介绍