Git基础操作:撤销、提交与分支管理
需积分: 0 185 浏览量
更新于2024-08-04
收藏 19KB DOCX 举报
Git是一款强大的分布式版本控制系统,它被广泛用于软件开发和协作环境中,以追踪项目文件的历史变化并管理多个版本。以下是对提供的Git命令及其用途的详细解读:
1. **创建仓库(git init)**:
- `git init repo`:这是初始化一个新的Git仓库的基本命令,它会在指定的目录下创建一个新仓库,允许你开始对项目的变更进行版本控制。
2. **克隆仓库(git clone)**:
- `git clone ssh://git@git.xesv5.com:10088/wxgo/push-irc.git`:用于从远程服务器复制一份完整的仓库副本到本地,以便本地开发人员可以进行独立工作。
3. **设置用户名和邮箱(git config)**:
- `git config --global user.name "zhangxiaodong2"` 和 `git config --global user.email "zhangxiaodong2@100tal.com"`:这两个命令用于设置Git用户的全局属性,确保每次提交都能正确关联到开发者。
4. **查看分支(git branch)**:
- `git branch`:显示当前仓库的所有分支,以及每个分支的状态,帮助开发者了解项目的分支架构。
5. **查看状态(git status)**:
- `git status`:检查工作目录和暂存区的文件状态,包括哪些文件已被添加、修改或准备提交。
6. **拉取代码**:
- `git pull origin master`:将远程仓库的master分支代码同步到本地master分支。
- `git fetch`:获取远程仓库的更新,但不自动合并,保留了本地和远程之间的区别。
7. **查看改动**:
- `git diff`:显示工作目录与暂存区或暂存区与上次提交的差异。
- `git diff --cached`:仅查看暂存区与上次提交的差异。
- `git diff HEAD`:显示工作目录与暂存区的全部差异。
- `git diff --stat`:提供简洁的统计,快速了解更改概览。
8. **添加文件和操作**:
- `git add folder/or/file`:将文件或文件夹添加到暂存区。
- `git mv xx.go xxxx.go`:移动或重命名文件,同时更新索引。
- `git reset HEAD xx.go`:取消暂存特定文件,但保持在工作目录。
9. **提交(git commit)**:
- `git commit -a -m '注释'`:将暂存区的改动合并并提交为新的提交,附带注释说明。
10. **撤销操作**:
- `git reset --hard HEAD`:清除工作目录中的所有未提交更改,恢复到最后一次提交的状态。
- `git revert HEAD` 或 `git revert HEAD^` 或 `git revert commit_id`:撤销最近一次或指定的提交,创建一个新的提交来消除指定的变更。
11. **合并和冲突处理**:
- `git merge dev`:将dev分支合并到当前分支,可能引发冲突。
- 解决冲突后,先`git add` 冲突文件,然后`git merge --continue`,最后提交解决后的结果。
12. **推送代码**:
- `git push origin master`:正常推送本地更改到远程仓库。
- `git push origin master -f`:强制推送,覆盖远程仓库的相同分支。
13. **分支管理**:
- `git branch`:列出所有分支。
- `gitcheckout`(未提供完整命令):切换到指定分支。
这些Git命令是日常开发和团队协作中必不可少的工具,熟练掌握它们可以帮助开发人员更高效地管理代码版本和协作。通过理解每个命令的作用,开发者可以更好地维护项目历史记录,避免版本混乱,并确保代码质量。
2022-08-08 上传
2022-09-09 上传
2024-04-13 上传
2023-06-07 上传
2023-05-13 上传
2023-08-30 上传
2023-03-16 上传
2023-09-11 上传
普通网友
- 粉丝: 23
- 资源: 319
最新资源
- 黑板风格计算机毕业答辩PPT模板下载
- CodeSandbox实现ListView快速创建指南
- Node.js脚本实现WXR文件到Postgres数据库帖子导入
- 清新简约创意三角毕业论文答辩PPT模板
- DISCORD-JS-CRUD:提升 Discord 机器人开发体验
- Node.js v4.3.2版本Linux ARM64平台运行时环境发布
- SQLight:C++11编写的轻量级MySQL客户端
- 计算机专业毕业论文答辩PPT模板
- Wireshark网络抓包工具的使用与数据包解析
- Wild Match Map: JavaScript中实现通配符映射与事件绑定
- 毕业答辩利器:蝶恋花毕业设计PPT模板
- Node.js深度解析:高性能Web服务器与实时应用构建
- 掌握深度图技术:游戏开发中的绚丽应用案例
- Dart语言的HTTP扩展包功能详解
- MoonMaker: 投资组合加固神器,助力$GME投资者登月
- 计算机毕业设计答辩PPT模板下载