Git基础知识详解:初始化、提交、查看状态和版本控制
需积分: 10 6 浏览量
更新于2024-09-08
收藏 180KB DOCX 举报
Git学习笔记
Git是一款版本控制系统,帮助开发者跟踪代码修改、协作开发和版本管理。本文将详细介绍Git的基本使用和重要知识点。
一、Git的登录及初始化
在使用Git之前,需要进行初始化设置,包括设置用户名和邮箱。这可以通过以下命令实现:
$ git config --global user.name "YourName"
$ git config --global user.email "email@example.com"
接下来,创建一个空目录,并使用git init命令将其变成Git可以管理的仓库:
$ mkdir learngit
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
二、初始化Git仓库,及提交文件
使用git init命令可以初始化一个Git仓库。添加文件到Git仓库需要两步:
• 第一步,使用命令git add,注意,可以反复多次使用,添加多个文件;
• 第二步,使用命令git commit -m "read_me",完成。
三、查看Git当前的工作区状态
要随时掌握工作区的状态,使用git status命令。如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
四、Git还原之前版本
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id。返回上一个版本可以使用命令:$ git reset --hard HEAD^。返回上上一个版本可以使用命令:$ git reset --hard HEAD^^。穿梭前,使用git log可以查看提交历史,以便确定要回退到哪个版本。要重返未来,使用git reflog查看命令历史,以便确定要回到未来的哪个版本。
五、Git版本库简介
版本库(Repository):工作区有一个隐藏目录“.git”,这个不算工作区,而是Git的版本库。Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
在将文件添加到Git版本库时,是分两步执行的:
第一步是使用“git add”把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是使用“git commit”提交更改,实际上就是把暂存区的内容提交到版本库。
六、 Git 分支管理
Git的分支管理可以帮助我们更好地组织和管理代码。使用git branch命令可以创建、查看和删除分支。使用git checkout命令可以切换到不同的分支。
七、 Git 合作开发
Git的分布式版本控制系统使得多人合作开发变得更加容易。使用git remote命令可以添加、查看和删除远程仓库。使用git pull命令可以从远程仓库拉取最新的代码。使用git push命令可以将代码推送到远程仓库。
八、 Git 高级应用
Git的高级应用包括 Git Submodule、Git Hooks、Git LFS等。Git Submodule可以帮助我们管理子模块,Git Hooks可以帮助我们在不同阶段执行自定义的脚本,Git LFS可以帮助我们管理大文件。
Git是一个功能强大且灵活的版本控制系统,帮助开发者更好地管理代码、协作开发和版本控制。本文仅仅介绍了Git的基本使用和重要知识点,更多的高级应用和技巧需要进一步学习和实践。
392 浏览量
2013-07-03 上传
2025-02-16 上传
2025-02-16 上传
2025-02-16 上传
![](https://profile-avatar.csdnimg.cn/157d38bc67be40f0989890e1b141fe9c_pengyouhai.jpg!1)
生如~夏花
- 粉丝: 4781
最新资源
- jQuery软键盘插件jquery.keypad.package-1.2.0实用教程
- 探索HTML领域的a3a技术应用
- 冬季主题New Tab扩展:个性化壁纸与游戏
- ShearLab-PPFT-1.0:图像去噪实战与学习资源分享
- Linux平台socket聊天工具源码及Makefile分析
- 使用JavaScript打造简单优雅的sparklines火花线图表
- 探索个人摄影艺术与技术:sathvikphotography.github.io
- 两人对战中国象棋在线游戏源码解析
- 丹·史蒂文斯Chrome壁纸插件:新标签页个性化
- 微信裂变红包源码解压与配置指南
- 局域网内计算机远程唤醒解决方案
- 非人类html家庭作业的PHP存储库解析
- GBK与UTF-8编码互转实用工具
- 用Node.js实现的最喜欢的专辑CRUD应用教程
- 深入解析DOM遍历技术,实现XML文件节点的全面管理
- 在VC6.0下编译SQLite3.lib类库的详细步骤