在软件开发中,跨多个贡献者管理代码可能会变得凌乱。想象一下,有几个人同时编辑同一文档,每个人都添加新想法,修复错误或调整功能。没有结构化的系统,很难跟踪谁改变了什么,何时以及为什么?错误可能很难撤消,并且合并不同版本的项目可能会很快变得混乱。这是Git的核心问题,并且通过扩展,GitHub旨在解决,从而为开发人员提供了一种有力的方法来跟踪更改,有效协作并管理代码库的多个版本,而无需踩到彼此的脚趾。本文将为那些挣扎的人提供git教程,并将提供初学者的权限演练。
目录
- 什么是git?
- 您需要知道的核心概念
- 如何访问git
- 动手
- GIT的登台区
- 进行更改
- 不进行舞台
- 如何从跟踪中忽略某些文件
- 处理异常值
- 看到差异
- git diff进行了救援
- 如何获得上一个提交的更改
- 回顾
- 结论
什么是git?
GIT是一个分布式版本控制系统。随着时间的流逝,它用于监视代码更改。它允许开发人员分开工作,并在没有冲突的情况下结合工作。 Git还提供了整个项目的单独副本以及代码历史记录,这使其更快,更可靠。因此,它适用于个人和协作项目。 Git主要基于命令行,它为用户提供了强大的工具箱,可以分支功能,提交更新,阶段更改和精确撤消错误。要记住git只是管理代码的工具,这一点至关重要。它完全独立于GitHub等网站,并且可以在没有Internet或任何托管服务的情况下运行。
您需要知道的核心概念
这是GIT背后主要思想的快速分解:
- 存储库(repo) :git跟踪您的文件和更改的目录。
- 克隆:本地计算机上遥控库的副本。
- 提交:在给定的时刻,您的代码快照,并带有描述更改的消息。
- 分支:代码库的单独版本,用于处理新功能或修复程序。
- 合并:将一个分支的变化集成到另一个分支。
- 推/拉:将更改发送到GitHub或拉下其他人的更新。
如何访问git
以下是您可以访问git的三种不同方式:
- 命令行- 最广泛使用的访问Git的方法。
- IDES - Git的最受欢迎的扩展名是Gitlens - 它在VS代码中带来了许多扩展
-
GUI for Git - 您可以参考官方网站 - https://git-scm.com/downloads/guis
- Gitkraken - Git Gui是受欢迎的GUI之一
- Sourcetree - 仅适用于Windows和Mac
我们将主要关注本文的命令行。要安装git,请遵循本指南。
动手
现在,我们已经涵盖了基础知识并在系统上设置了GIT,现在该使我们的手变得肮脏了。在本节中,我们将介绍每个开发人员应该知道的一些最重要的GIT命令。无论您是启动一个新项目还是在现有项目上进行协作,这些命令构成有效使用GIT的核心工作流程。我们将保持简单,实用且对初学者友好。没有花哨的设置,只需实际使用的真实命令即可。打开您的终端,让我们潜入!
创建一个目录
mkdir git_learning
更改目录
CD git_and_github
初始化git
git init
此命令使用初始化GIT存储库。
您可以找到一个.git文件夹。这是GIT维护的重要文件夹。执行Git Init命令时,它将创建。 GIT基本上使用哈希来存储文件,这确实是内存效率的。
现在,让我们创建一些文件。
创建文件
触摸file1.txt
编辑文件
vi file1.txt
输入i进入插入模式,然后添加一些文本,然后单击“逃生”并输入:WQ以保存文件。
也为另一个文件执行此操作。
触摸file2.txt vi file2.txt
了解存储库的状态
git状态
该命令将显示目录中所做的更改以及是否进行了跟踪。
为了短暂的状态,您可以使用
git状态-s
GIT的登台区
在GIT提交之前,我们有一些称为登台区域的东西。在做出提交之前,我们将看到所做的更改并会审查它们。这是git中的一个特殊功能。我们可以回顾上一个提交和分阶段更改之间的更改,然后进行新的提交。
为了进行目录中所做的更改,我们将使用
git添加 git add file1.txt file2.txt
这将开始跟踪目录中所做的更改。
现在,要将目录中的所有文件添加到分期,您可以简单地使用:
git添加。
使用此命令时要谨慎。这是因为它将跟踪您目录中的所有内容,例如日志,环境文件,数据集等。这可能会超载git并导致效率低下的版本管理。
每个提交都有一个:
- ID - 唯一标识符(hashvalue)。
- 消息- 描述已完成的更改。
- 日期/时间- 什么时候更改。
- 作者- 已更改文件的人。
- 完整的快照- 在提交时。
您可能会认为,每次提交中保存整个快照都会利用非常效率的内存。但是Git不会存储重复的内容并压缩内容以减少内存空间。因此,毕竟这可能是一个可行的策略!
进行更改
git commit -m“简短描述”
-m用于消息。
但是有时候,我们对简短的描述感到不满意。我们将不得不提供有关所做更改的更多背景。
为此,我们将使用:
git提交
这将在我们的编辑器中打开一个文件,我们可以在其中输入一个少于80个字符的描述(在描述后不要忘记添加换行符)。为了实现这一目标,让我们为新提交做一些更改。让我添加另一个空文件并提交更改。
一个误解是“当我们进行分阶段时;登台区变为空!”这是不正确的。登台区并没有变为空,而是分期区域和先前的提交之间没有区别。
指南:
- 提交不应该太大或太小。我们不必对每个文件进行小更改。另外,我们不必只在做出很多更改之后就提交。当您达到要记录的状态时,然后进行提交。
- 如果您有错误的含义和错误的含义:在解决错误时发现了错别字;两者都不应在重现错别字时同时犯下,而该错误也将被恢复。因此,我们必须单独这样做。另外,如果您一起上演,我们也可以单独拆除它们。
- 提交消息应该是有意义的。由于GIT也用于协作(不仅用于版本控制),提供有意义的提交消息,并且遵循命名插入将帮助项目中的每个人都了解所做的更改。
不进行舞台
我们可以在git添加命令之前提交更改而不将其添加到登台区域IE?
是的!我们可以。让我们看一个例子。让我更改file3.txt 。
git提交-am“消息”
-a告诉git可以自动进行修改并已经跟踪的任何文件。
假设您已经上演了整个存储库,但是您需要删除文件。通常,您将使用RM命令删除文件。但是该文件仍将位于登台区域,因此,为了删除该文件,我们将在下面进行。
一种可能的方法是使用普通的RM命令,然后git add
由于在此处跟踪file3.txt ,因此显示file3.txt已删除。
如果已经上演了一个文件,并且您要删除它,请按照以下方式删除:
让我们尝试使用git rm
从git状态我们可以看到,新文件存在。稍后,使用git rm命令后,我们可以看到不存在新文件。 git rm命令从登台区域和工作目录中删除文件,而RM命令(Linux)仅删除您的工作目录的文件。
如何从跟踪中忽略某些文件
让我们看看如何忽略某些文件的跟踪。但这引出了一个问题:您为什么要不散布文件。这就是为什么,假设您有日志文件:您会生成大量的日志文件,数据集,每次对其进行更改时都会更新。基本上是JSON表示,但是运行笔记本电脑可能每次都会产生不同的输出,使Git难以跟踪更改。因此使用。 Gitignore避免Git跟踪这些文件。
我们将始终必须忽略跟踪中的某些文件,例如日志文件。将这些文件添加到存储库中只会增加存储库的大小。因此,我们必须在git中忽略这些文件。在以下图像中,我正在创建一个日志目录和一个日志文件。后来,创建了一个.gitignore文件,然后将日志目录条目添加到.gitignore文件中。这将阻止git跟踪指定的文件。
我们可以看到日志文件夹不再跟踪。
处理异常值
有一个问题!当我们开始使用git add或commit跟踪文件,然后将其添加到Gitignore时,Git仍将跟踪该文件或目录中所做的更改。因此,为避免,我们必须从分期区域删除文件/目录。但是git rm将删除登台和目录中的文件。因此,如果我们只想将其删除,我们将使用:
git rm -r - cached Directory_name/fileName
您可以看到文件not_track.txt已跟踪。因此,为避免这种情况的发生,我们必须使用以下命令:
git rm -r –cached Directory_name/filename
看到差异
现在,让我们看看最后一个提交和分阶段文件之间已经做出了什么变化。
我们将使用以下命令来执行此操作:
git diff-已销售
以下是上述屏幕截图的解释:
.gitignore之前不存在( /dev /null表示没有以前的文件)。
添加了两个条目:
- 日志/ →忽略目录。
- not_track.txt →忽略文件。
File3.txt正在从存储库中删除(用于删除)。该文件有一行:“这是我的第三个文件”。
通常,开发人员使用GUI工具来查看差异类似于VS代码 - 但也可以使用命令行可视化差异。
git diff进行了救援
Git diff的作用是,它将比较上一个提交和分阶段提交之间的文件。前任。 A/file1.js是旧文件, b/file1.j s是新文件→旧副本中的更改由 - (负)登录为红色,新副本的更改由绿色(plus)以绿色表示(可以在图像中看到)。
绿色 - 新附加的线条<br><br>红色 - 这些线将被删除<br><br>白色 - 这些行在旧代码和新代码中。
git diff命令显示目录和分期之间的区别。
让我们在目录中进行一些更改以使用此命令:
现在,让我们进行所有文件,并提交我们的更改,以查看过去所做的所有提交。查看此用途:
git日志
GIT日志 - 在线→这为我们提供了简短的提交摘要。
git日志 - 在线 - 反向→这将逆转提交的顺序。
要查看提交中的更改,我们可以使用
git show <id></id>
如何获得上一个提交的更改
git还原 - 已划分的文件名→这将从上一个提交中获取文件,并将其放在此处。
git还原。将从分期环境中获取文件,并将其放入工作目录中。但是,如果有一个新的未跟踪文件,以前的提交中不存在,它将保持原样。
我们可以看到,在运行命令git还原后,在file1.txt中所做的更改已恢复为他们以前的提交状态。
回顾
在这个动手的会话中,我们浏览了现实世界开发工作流中使用的基础GIT命令。我们首先设置了一个git存储库,并学习了如何创建和编辑文件。引入了关键概念,例如工作目录,分期区域和提交,以及诸如git Init,git add,git commit和git状态之类的命令。我们探索了GIT跟踪如何更改,管理文件版本以及分阶段与未分段的文件。特别强调适当的提交实践,使用。 Gitignore避免跟踪不必要的文件,并使用Git diff查看差异。最后,我们研究了使用GIT日志,Git Show和Git Restore检查以前的提交和恢复更改的方法。
结论
Git起初似乎很不知所措,但是一旦您掌握了核心概念,例如分期,投入,恢复和查看历史,它就会成为工作流程中的强大工具。在本文中,我们专注于命令行,因为它可以使您对幕后发生的事情具有最大的控制和透明度。了解GIT如何跟踪文件,处理提交和管理更改,使您可以编写清洁器代码,更有效地进行协作并在事情出现问题时迅速恢复。无论您是要回滚不好的变化,探索提交历史记录还是只是组织工作,Git都可以支持。
以上是初学者的git教程的详细内容。更多信息请关注PHP中文网其他相关文章!

CHATGPT SECURICE增强:两阶段身份验证(2FA)配置指南 需要两因素身份验证(2FA)作为在线平台的安全措施。本文将以易于理解的方式解释2FA设置过程及其在CHATGPT中的重要性。这是为那些想要安全使用chatgpt的人提供的指南。 单击此处获取OpenAI最新的AI代理OpenAi Deep Research⬇️ [chatgpt]什么是Openai深入研究?关于如何使用它和费用结构的详尽解释! 目录 chatg
![[针对企业] Chatgpt培训|对8种免费培训选项,补贴和示例进行了详尽的介绍!](https://img.php.cn/upload/article/001/242/473/174704251871181.jpg?x-oss-process=image/resize,p_40)
生成的AI的使用吸引了人们的关注,这是提高业务效率和创造新业务的关键。特别是,由于其多功能性和准确性,许多公司都采用了Openai的Chatgpt。但是,可以有效利用chatgpt的人员短缺是实施它的主要挑战。 在本文中,我们将解释“ ChatGpt培训”的必要性和有效性,以确保在公司中成功使用Chatgpt。我们将介绍广泛的主题,从ChatGpt的基础到业务使用,特定的培训计划以及如何选择它们。 CHATGPT培训提高员工技能

社交媒体运营的提高效率和质量至关重要。特别是在实时重要的平台上,例如Twitter,需要连续交付及时和引人入胜的内容。 在本文中,我们将解释如何使用具有先进自然语言处理能力的AI的Chatgpt操作Twitter。通过使用CHATGPT,您不仅可以提高实时响应功能并提高内容创建的效率,而且还可以制定符合趋势的营销策略。 此外,使用预防措施
![[对于Mac]说明如何开始以及如何使用ChatGpt桌面应用程序!](https://img.php.cn/upload/article/001/242/473/174704239752855.jpg?x-oss-process=image/resize,p_40)
CHATGPT MAC桌面应用程序详细指南:从安装到音频功能 最后,Chatgpt的Mac桌面应用程序现已可用!在本文中,我们将彻底解释从安装方法到有用的功能和将来的更新信息的所有内容。使用桌面应用程序独有的功能,例如快捷键,图像识别和语音模式,以极大地提高您的业务效率! 安装桌面应用的ChatGpt Mac版本 从浏览器访问:首先,在浏览器中访问chatgpt。

当使用chatgpt时,您是否曾经有过这样的经验,例如“输出在中途停止”或“即使我指定了字符的数量,它也无法正确输出”?该模型非常开创性,不仅允许自然对话,而且还允许创建电子邮件,摘要论文,甚至允许产生诸如小说之类的创意句子。但是,ChatGpt的弱点之一是,如果文本太长,输入和输出将无法正常工作。 Openai的最新AI代理“ Openai Deep Research”

Chatgpt是Openai开发的创新AI聊天机器人。它不仅具有文本输入,而且还具有语音输入和语音对话功能,从而可以进行更自然的交流。 在本文中,我们将解释如何设置和使用Chatgpt的语音输入和语音对话功能。即使您不能脱身,Chatp Plans也通过与您交谈来做出回应并回应音频,这在繁忙的商业情况和英语对话练习等各种情况下都带来了很大的好处。 关于如何设置智能手机应用程序和PC的详细说明以及如何使用。

成功的快捷方式!使用chatgpt有效的工作变更策略 在当今加剧的工作变更市场中,有效的信息收集和彻底的准备是成功的关键。 诸如Chatgpt之类的高级语言模型是求职者的强大武器。在本文中,我们将解释如何有效利用Chatgpt来提高您的工作企业效率,从自我分析到申请文件和面试准备。节省时间和学习技术,以充分展示您的优势,并帮助您成功搜索工作。 目录 使用chatgpt的狩猎工作示例 自我分析的效率:聊天

思维地图是组织信息并提出想法的有用工具,但是创建它们可能需要时间。使用Chatgpt可以大大简化此过程。 本文将详细说明如何使用chatgpt轻松创建思维地图。此外,通过创建的实际示例,我们将介绍如何在各种主题上使用思维图。 了解如何使用Chatgpt有效地组织和可视化您的想法和信息。 Openai的最新AI代理OpenA


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中