Git命令实用指南:从恢复到分支管理
需积分: 50 138 浏览量
更新于2024-09-08
收藏 39KB DOC 举报
"Git是分布式版本控制系统,用于跟踪对代码库的更改。本文档整理了开发者在日常工作中经常使用的Git命令,确保所有列出的命令都有实际应用场景。"
在Git中,掌握一些基本和高级的命令是至关重要的,这些命令可以帮助你有效地管理代码仓库。以下是一些常见的Git命令及其用途:
1. **创建与切换分支**:
- `git branch`: 创建新的分支,如`git branch new_branch_name`。
- `git checkout`: 切换分支,如`git checkout new_branch_name`。若要创建并立即切换,可使用`git checkout -b new_branch_name`。
2. **提交与撤销更改**:
- `git add`: 将文件添加到暂存区,如`git add .`表示添加所有更改。
- `git commit`: 提交暂存区的更改,`git commit -m "commit message"`记录提交信息。
- `git reset`: 撤销提交。例如,`git reset HEAD file_path`撤销对特定文件的提交;`git reset --hard`则回退到最近的提交状态,丢弃所有未提交的更改。
3. **查看历史与回滚**:
- `git log`: 查看提交历史,`git log --pretty=format:"%h %cd %s"`格式化输出。
- `git checkout commit_id file_path`: 将文件恢复到特定提交的状态。
- `git reset commit_id`: 回滚到指定的提交,但保留工作区的更改。
- `git reset --hard commit_id`: 强制回滚到指定提交,丢弃所有未提交的更改。
4. **合并与解决冲突**:
- `git merge`: 合并分支,如`git merge new_branch_name`。
- `git format-patch -M HEAD`: 生成补丁文件,用于在不同目录结构下应用。
- `git am < patch_file`: 应用补丁文件。
- `git diff`: 检查合并或冲突后的差异。
5. **远程操作**:
- `git push`: 推送本地分支到远程仓库。
- `git pull`: 从远程仓库拉取并合并最新的更改。
- `git fetch`: 获取远程仓库的最新数据,但不自动合并。
- `git branch -vv`: 查看分支的上游信息。
6. **分支管理**:
- `git branch -m`: 修改本地分支名称。
- `git branch -d`: 删除已合并的分支,`-D`强制删除未合并的。
7. **搜索与过滤**:
- `git log --all --author="author_name" --grep="search_pattern"`: 查找特定作者或内容的提交记录。
- `git log --name-only`: 显示每个提交修改的文件列表。
- `git log --stat`: 提供更详细的提交统计信息。
8. **清理与整理**:
- `git clean`: 清除未跟踪的文件,如`git clean -fd`删除除.git之外的所有未跟踪文件和目录。
- `git stash`: 保存当前的工作区状态,以便稍后恢复。
以上命令只是Git众多功能的一部分,熟练掌握这些命令将极大地提高你的开发效率和代码管理能力。记得在实际使用中结合实际情况灵活运用,并根据需要查阅官方文档以获取更多详细信息。
2020-09-15 上传
2019-09-12 上传
2018-11-09 上传
2024-06-26 上传
2020-10-19 上传
流沙V
- 粉丝: 2
- 资源: 6
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析