Git学习笔记 三个区域、文件状态、分支、常用命令

简介: 理解并掌握这些概念和命令,对于有效地使用Git来管理项目源代码是至关重要的。Git的强大功能支持了复杂的开发工作流程,而良好的Git实践能够极大地提高团队的协作效率。随着实践的增多,对于Git更深层次的功能和最佳实践的理解也会随之增长,进一步加强你作为一个软件开发者的能力。

Git是一个强大的分布式版本控制系统,用于跟踪和管理代码变更。理解Git的三个主要工作区域、文件状态、分支以及常用命令对于任何希望有效使用这个工具的开发者来说都是至关重要的。

三个工作区域

  1. 工作目录(Working Directory) :这是你在本地文件系统上看到的文件。它是Git项目的一个单一检出版本。这里的文件可以被编辑、添加、删除,这些变更反映的是工作目录与Git仓库中当前分支最新提交之间的差异。
  2. 暂存区(Index或Staging Area) :当你对工作目录中的文件进行了修改并且希望将这些文件的当前快照提交到仓库时,这些变更会先被记录在暂存区中。暂存区是准备提交到仓库的文件的集合。
  3. 仓库(Repository) :这是Git用于存储元数据和对象数据库的地方,仓库中包含了项目的所有修订历史。当你执行提交操作时,暂存区的文件快照会在仓库中创建一个新的提交。

文件状态

Git文件有三种状态:

  1. 已修改(modified) :文件已被修改,但还没被暂存。
  2. 已暂存(staged) :文件的修改已经被标记为准备提交。
  3. 已提交(committed) :文件的修改已经被安全地保存在仓库中。

分支

分支使得从开发主线上分离出来独立开发成为可能。在Git中,分支非常轻量,其本质是指向提交对象的指针。Git的默认分支名是 master。随着Git 2.28版本,main也被广泛接受作为默认分支名。

  • 创建分支:git branch <branch_name>
  • 切换分支:git checkout <branch_name>
  • 创建新分支并立即切换到该分支:git checkout -b <branch_name>

常用命令

  1. git init:在当前目录下初始化一个新的Git仓库。
  2. git clone :克隆一个仓库到本地。
  3. git add :将文件添加到暂存区。
  4. git commit -m “” :将暂存区的快照作为一个新的提交添加到仓库中。
  5. git status:查看工作目录和暂存区的状态。
  6. git log:查看提交历史。
  7. git push :将本地的分支推送到远程仓库。
  8. git pull :从远程仓库拉取最新的版本到本地并自动合并。
  9. git branch:列出、创建或删除分支。
  10. git merge :将指定分支的历史合并到当前分支。
  11. git rebase :将当前分支的修改重新应用在另一分支之上。

理解并掌握这些概念和命令,对于有效地使用Git来管理项目源代码是至关重要的。Git的强大功能支持了复杂的开发工作流程,而良好的Git实践能够极大地提高团队的协作效率。随着实践的增多,对于Git更深层次的功能和最佳实践的理解也会随之增长,进一步加强你作为一个软件开发者的能力。

目录
相关文章
|
2天前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
125 86
|
17天前
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
58 28
|
27天前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
28天前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
28天前
|
存储 缓存 Java
图解Git——远程分支《Pro Git》
远程分支是 Git 中用于管理分布式协作的关键概念。远程引用指向远程仓库中的分支和标签,常用 `git ls-remote` 或 `git remote show` 查看。日常开发中,通常使用远程跟踪分支(如 `origin/main`)与远程分支交互,简化远程仓库状态的管理和使用。远程跟踪分支记录远程分支的状态,但本身只读。
27 6
|
28天前
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
54 7
|
28天前
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
44 9
|
28天前
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
70 9
|
网络安全 开发工具 git
git的学习笔记整理
Git学习较好的网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000 开源中国的git站点:http://git.oschina.NET/oschina/git-osc/wikis/Home   msysgit是Windows版的Git,从http://msysgit.github.io/下载 安装选择默认安装就可以了。
1114 0
|
2月前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
74 3